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度是旋转角度,其他角度都可以,你觉得最好看就可以了)。