如何更改条形图类别的顺序?

如何更改条形图类别的顺序?

我有一个条形图,其中类别(在 x 轴上)是数字:

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}

\begin{filecontents}{foo.csv}
x,y
1,4
2,7
3,2
\end{filecontents}

\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar, xtick={1,2,3}]
\addplot[x=x, y=y, fill] table[col sep=comma] {foo.csv};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

我希望按 [2,3,1] 而不是 [1,2,3] 的顺序绘制列。不幸的是,如果我只使用xtick={2,3,1}而不是xtick={1,2,3},则不会发生任何变化。据推测,pgfplots 认为 1、2 和 3 是数字但我希望他们被理解为类别在我的上下文中。我该如何重新排列我的列?

答案1

使用symbolic x coords

在此处输入图片描述

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}

\begin{filecontents}{foo.csv}
x,y
1,4
2,7
3,2
\end{filecontents}

\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar, symbolic x coords={2,3,1},xtick=data]
\addplot[x=x, y=y, fill] table[col sep=comma] {foo.csv};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容