使用 xtick=data 时并非所有刻度标签都显示

使用 xtick=data 时并非所有刻度标签都显示

我正在尝试绘制以下情节:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            ybar,
            ymin=0, ymax=90,
            width=5.5cm,
            height=6cm,
            symbolic x coords={A,B},
            xtick=data,
            bar width=15pt,
            axis lines*=left,
            ytick={10,30,...,90},
            nodes near coords,
            xticklabel style={text height=1.5ex},
            ymajorgrids,
            enlarge x limits=.3,
            ]
            \addplot[fill=red] coordinates {
                (A,16.6)
            };
            \addplot[fill=green] coordinates {
                (B,23.9)
                };
        \end{axis}
    \end{tikzpicture}
\end{document}

然而它似乎没有起作用:第二个 xtick 坐标(B)没有出现。

我想要的是一个简单的图表,其中有两个或多个条形图,每个条形图都有不同的颜色。

感谢您的帮助

答案1

使用 时,仅使用xtick=data第一个命令来确定刻度位置。要获取两个刻度标签,请使用。\addplotxtick={A,B}

默认情况下,PGFPlots 假设每个\addplot系列的值都位于相同的坐标处,这就是为什么每个系列的条形图都会偏移以防止重叠的原因。在所有\addplot命令使用不同坐标的特殊情况下,这是不希望的。要关闭此偏移,请设置 set bar shift=0pt

相关内容