我在 groupplot 中使用符号 x 坐标。这很成问题,因为我无法禁用上部图的刻度和刻度标签,否则会丢失xmajorgrid
。我似乎找不到合适的选项。
我怎样才能禁用除最后一行之外的所有图的刻度标签?(在本例中,只有一个图/一列)
给关注 pgfplots 标签的任何人的小提示:抱歉提出这么多问题,我似乎在这方面受到了极大的诅咒,比如发现很多小事情都不太顺利,无法思考问题
图片
平均能量损失
\documentclass[
a4paper
]{scrartcl}
\usepackage{
amsmath,
tikz,
pgfplots,
}
\usepgfplotslibrary{
groupplots,
}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{center}
\begin{tikzpicture}[font=\small]
\begin{groupplot}[
group style={
group size=1 by 3, %Spalte(n) by Zeile(n)
horizontal sep=0cm,
vertical sep=0.2cm,
xlabels at=edge bottom,
yticklabels at=edge bottom,
ylabels at=edge left,
yticklabels at=edge left,
},
%
ymin=0, ymax=30,
%
xlabel={Bla},
ylabel={Process},
%
xmajorgrids=true,
%
scale ticks above exponent={3},
]
\nextgroupplot[
xmin=10, xmax=20,
]
\addplot coordinates{(11,12) (13,15)};
\nextgroupplot[
symbolic x coords={11,13},
xtick=\empty,
]
\addplot[red, dashed] coordinates{(11,8) (13,25)};
\nextgroupplot[
xmin=10, xmax=20,
]
\addplot[orange, thick] coordinates{(11,8) (13,25)};
\end{groupplot}
\end{tikzpicture}
\end{center}
\end{document}
答案1
解决方法
到目前为止,我发现最好的补救措施是使用x tick label style={color=white},
。效果很好,具体取决于xticklabel
s 的位置。
一个不太令人满意的解决方法是使用类似于绘制网格和相应命令绘制刻度线的方法\draw[thin, gray] (rel axis cs:0.33,0) -- (rel axis cs:0.33,1);
。这可能涉及大量的 T&E 运行。
\documentclass[
a4paper
]{scrartcl}
\usepackage{
amsmath,
tikz,
pgfplots,
}
\usepgfplotslibrary{
groupplots,
}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{center}
\begin{tikzpicture}[font=\small]
\begin{groupplot}[
group style={
group size=1 by 3, %col(s) by row(s)
horizontal sep=0cm,
vertical sep=0.2cm,
xlabels at=edge bottom,
yticklabels at=edge bottom,
ylabels at=edge left,
yticklabels at=edge left,
},
%
ymin=0, ymax=30,
%
xlabel={Bla},
ylabel={Process},
%
xmajorgrids=true,
%
scale ticks above exponent={3},
]
\nextgroupplot[
xmin=10, xmax=20,
]
\addplot coordinates{(11,12) (13,15)};
\nextgroupplot[
symbolic x coords={11,13},
%xtick=\empty,
x tick label style={color=white}, %<-------------- WORKAROUND HERE
]
\addplot[red, dashed] coordinates{(11,8) (13,25)};
\nextgroupplot[
xmin=10, xmax=20,
]
\addplot[orange, thick] coordinates{(11,8) (13,25)};
\end{groupplot}
\end{tikzpicture}
\end{center}
\end{document}