不显示符号坐标

不显示符号坐标

所以我刚刚学习 LaTeX,所以如果这是一个愚蠢的问题,我很抱歉,但我已经阅读了手册,观看了 YouTube 视频并阅读了博客,但我仍然无法弄清楚为什么这不起作用。我想做一个简单的条形图。显示数据时一切都很顺利,直到我尝试添加使其看起来像条形图的代码,然后,最后一个坐标消失了,我不知道为什么。这是我的代码,我在顶部链接了“pgfplots”(以及“pgf-pie”用于另一个图表,如果这可能相关的话):

\begin{tikzpicture}
    \begin{axis}[
    %title= ,
    ymin=0, ymax=10,
    x tick label style={/pgf/number format/1000 sep=},
    ybar interval=1,
    xlabel={$estado$},
    ylabel={$frecuencia$},
    symbolic x coords={CA,TX,AZ},
    xtick=data,
    ]

    \addplot coordinates { (CA,9) (TX,8) (AZ,8)};

    \end{axis}
    \end{tikzpicture}

当我添加从 overleaf 获得的这两行时,问题就开始了:

x tick label style={/pgf/number format/1000 sep=},
    ybar interval=1

有人知道为什么会发生这种情况吗?我该如何制作条形图?谢谢

答案1

对于更复杂的输入数据,坐标图很快就会变得混乱(我只会使用坐标图用于添加单个点或类似内容)。
通常,你会有一个输入数据表,该表的类型为

X         Y
CA        9
TX        8
AZ        8

因此,知道如何做到这一点是很好的表格图

symbolic x coords={CA,TX,AZ},这里不需要,而是:
xticklabels from table={\inputdata}{X}, % <--- !

在此处输入图片描述

\documentclass[margin=3mm, tikz]{standalone}
\usepackage{pgfplotstable} % <--- !
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}

\pgfplotstableread[]{
X         Y
CA        9
TX        8
AZ        8
}\inputdata

\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=10,
%x tick label style={/pgf/number format/1000 sep=},% not used
ybar,                       % changed
enlarge x limits = 0.4,     %  new
xlabel=\textit{estado},
ylabel=\textit{frecuencia},
%symbolic x coords={CA,TX,AZ}, % not needed
xticklabels from table={\inputdata}{X}, % <--- !
xtick=data, 
]
\addplot table[x expr=\coordindex, y=Y]{\inputdata};
\end{axis}
\end{tikzpicture}
\end{document}

答案2

我猜你正在寻找这样的东西:

在此处输入图片描述

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}

\begin{document}
    \begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=10,
x tick label style={/pgf/number format/1000 sep=},
ybar,                       % changed
enlarge x limits = 0.4,     %  new
xlabel=\textit{estado},
ylabel=\textit{frecuencia},
symbolic x coords={CA,TX,AZ},
xtick=data,
]
\addplot coordinates { (CA,9) (TX,8) (AZ,8)};
\end{axis}
    \end{tikzpicture}
\end{document}

相关内容