目前我有如下图所示的图形(使用下面的代码生成)如您所见,根据我明确设置的刻度标签,原点未标记为 2。为什么pgfplots
这样做?我如何在那里放置任意文本?
\documentclass{article}
\usepackage{pgfplots}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
axis line style={-},
xtick={-2,0,2},
xticklabels={1,2,3},
xmin=-3.5,
xmax=3.5,
ymin=0,
ymax=5,
]
\addplot+[ycomb, mark=none] table {
-3 1
-2 2
-1 3
0 4
1 3
2 2
3 1
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这是因为 的默认设置为hide obscured x ticks
。true
将其设置为false
,您将获得所需的结果。
但更好的解决方案是 gernot 在他在这个问题下的评论并且已经投票通过重复的问题。
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
axis line style={-},
xtick={-2,0,2},
xticklabels={1,2,3},
hide obscured x ticks=false, % <-- added
xmin=-3.5,
xmax=3.5,
ymin=0,
ymax=5,
]
\addplot+[ycomb, mark=none] table {
-3 1
-2 2
-1 3
0 4
1 3
2 2
3 1
};
\end{axis}
\end{tikzpicture}
\end{document}