Tikzpicture 中的条形图错误
Bargraph Error in Tikzpicture
不知道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}
我想到了两种可能的解决方案。两者都比较容易(只需添加一行):
解决方案 1
为避免重叠 x 标签,您可以明确定义一个 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,
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
。
结果如下:
解决方案 2
上面的解决方案增加了绘图的宽度。如果你不想这样,你可以改为旋转刻度标签:
\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度是旋转角度,其他角度都可以,你觉得最好看就可以了)。
不知道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}
我想到了两种可能的解决方案。两者都比较容易(只需添加一行):
解决方案 1
为避免重叠 x 标签,您可以明确定义一个 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,
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
。
结果如下:
解决方案 2
上面的解决方案增加了绘图的宽度。如果你不想这样,你可以改为旋转刻度标签:
\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度是旋转角度,其他角度都可以,你觉得最好看就可以了)。