Tikzpicture中的条形图错误

时间:2015-05-06 04:47:49

标签: tikz

我不知道为什么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 个答案:

答案 0 :(得分:1)

我想到了两种可能的解决方案。两者都相对容易(只需添加一行):

解决方案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添加到轴选项。

结果如下:

ybar plot with 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是旋转角度,您可以使用任何其他角度,只需使用您认为最佳的角度)。 ybar plot with rotated xtick labels