我的问题类似于是否可以为两个额外的 x-tick 标签分配不同的颜色?,所以我只是从那里获取了代码。除了额外的 x 刻度的不同颜色外,我还想相应地更改水平网格线的颜色。
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
every extra x tick/.style={
grid=none,
tick0/.initial=red,
tick1/.initial=green,
tick2/.initial=orange,
xticklabel style={
anchor=north,
color=\pgfkeysvalueof{/pgfplots/tick\ticknum},
},
grid,
grid style={densely dashed,line width=0.6pt,color=red}
},
extra x ticks ={0.5,1.5,3},
extra x tick labels={$s_l$,$s_r$,qr}
]
\addplot (x,x);
\end{axis}
\end{tikzpicture}
\end{document}
答案1
对网格颜色样式的唯一内置支持是 x、y、z 网格线、主/次网格线之间的区别,以及额外刻度的相同选择。
没有内置对单独样式的网格线的支持。
您可能需要使用自定义\draw
命令来绘制特殊的网格线,也许需要与分层图形结合以确保它们与网格线位于同一层(另请参阅extra description
在剪切区域外绘制东西的键)。
请注意,刻度标签是 tikz 节点,并xticklabel style
针对每个节点重新评估 - 这使得它不同于仅评估一次颜色的网格线。