目前正在处理条形图,但似乎无法使 y 轴的刻度正常工作。更准确地说,ytick = \empty
(以及ytick = {0,5,10,15,20}
)参数似乎被忽略了。这意味着它只使用初始值=data
作为值,并且只显示第一个图的刻度。另一方面,extra y ticks = {5,10,15,20}
例如添加参数,则有效。
\begin{figure}
\setlength{\fboxrule}{0pt}
\fbox{
\vspace*{-100pt}
\begin{tikzpicture}
\centering
\begin{axis} [
height=0.4\textheight, width=0.9\textwidth,
ybar, ymin=0,
%ytick={5,10,15,20},
extra y ticks={5,10,15,20},
tick align = inside,
legend style={
at={(0.5,-0.1)},
anchor=north,
legend columns=-1,
/tikz/every even column/.append style={column sep=0.5cm}
},
symbolic x coords={%
{1},{2},{3},{4},{5}},
nodes near coords,
nodes near coords align={vertical},
ytick=data,
]
\addplot coordinates {
({1}, 0)
({2}, 1)
({3}, 2)
({4}, 5)
({5}, 2)
};
\addplot coordinates {
({1}, 1)
({2}, 6)
({3}, 17)
({4}, 10)
({5}, 7)
};
\legend{Ipsum, Cillum }
\end{axis}
\end{tikzpicture}
}
\caption{Lorem}
\end{figure}
答案1
ytick
选项中有两个条目axis
,一个在 之前,extra y ticks
一个在 末尾。我猜最后一个“获胜”,所以您只得到ytick=data
。默认刻度为 0、5、10、15,这似乎是您想要的,因此无需进行任何调整。添加xtick=data
似乎也是一个好主意。
还要注意,你的\centering
位置不对,它应该在 之外tikzpicture
。我还删除了\fbox
和\vspace
,因为我认为它们实际上在这里没有做任何有用的事情。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis} [
height=0.4\textheight, width=0.9\textwidth,
ybar, ymin=0,
tick align = inside,
legend style={
at={(0.5,-0.1)},
anchor=north,
legend columns=-1,
/tikz/every even column/.append style={column sep=0.5cm}
},
xtick=data,
symbolic x coords={%
{1},{2},{3},{4},{5}},
nodes near coords,
nodes near coords align={vertical},
]
\addplot coordinates {
({1}, 0)
({2}, 1)
({3}, 2)
({4}, 5)
({5}, 2)
};
\addplot coordinates {
({1}, 1)
({2}, 6)
({3}, 17)
({4}, 10)
({5}, 7)
};
\legend{Ipsum, Cillum }
\end{axis}
\end{tikzpicture}
\caption{Lorem}
\end{figure}
\end{document}