我不知道为什么x轴上的数据会跳跃。我不知道。
\documentclass[varwidth=true, border=2pt]{standalone} \usepackage{pgfplots}\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={Coke-Classic,Diet Coke, Dr.Peppre,Pepsi Cola,Sprite,},
xtick=data
]
\addplot[ybar,fill=blue] coordinates {
(Coke-Classic, 38)
(Diet Coke, 16)
(Dr.Peppre, 10)
(Pepsi Cola, 26)
(Sprite, 10)
};
\end{axis}
\end{tikzpicture} \end{document}
答案 0 :(得分:1)
我想到了两种可能的解决方案。两者都相对容易(只需添加一行):
为避免重叠x标签,您可以明确定义一个x-unit的大小:
\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={Coke-Classic,Diet Coke, Dr.Peppre,Pepsi Cola,Sprite,},
xtick=data,
x=2cm
]
\addplot[ybar,fill=blue] coordinates {
(Coke-Classic, 38)
(Diet Coke, 16)
(Dr.Peppre, 10)
(Pepsi Cola, 26)
(Sprite, 10)
};
\end{axis}
\end{tikzpicture}
\end{document}
我唯一改变的是将x=2cm
添加到轴选项。
结果如下:
上述解决方案增加了绘图的宽度。如果您不想这样,则可以改为勾选标签:
\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={Coke-Classic,Diet Coke, Dr.Peppre,Pepsi Cola,Sprite,},
xtick=data,
xticklabel style={rotate=45}
]
\addplot[ybar,fill=blue] coordinates {
(Coke-Classic, 38)
(Diet Coke, 16)
(Dr.Peppre, 10)
(Pepsi Cola, 26)
(Sprite, 10)
};
\end{axis}
\end{tikzpicture}
\end{document}
在这里,我刚用x=2cm
替换了xticklabel style={rotate=45}
(45是旋转角度,您可以使用任何其他角度,只需使用您认为最佳的角度)。