pgfplots:ybars 不在数字上

pgfplots:ybars 不在数字上

我有一个列表9, 11, 7, 1, 6, 4, 3, 8, 10, 5, 2,想要ybar根据这些位置的值绘制1,2,3,...,11。

如果我使用,为什么我的条形图在某处而不是在这些位置

\foreach \col in {0,1,...,5}{
\addplot table[x expr=\col+1, y index=\col]{\mytable};
}

我需要做什么?

PS:我不知道这里的 foreach 循环是否正确。

在此处输入图片描述

\documentclass{article} 
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}

\begin{document}
\pgfplotstableread[col sep=comma, header=false]{
9, 11, 7, 1, 6, 4, 3, 8, 10, 5, 2
}{\mytable}
\pgfplotstabletypeset{\mytable}

\begin{tikzpicture}
\begin{axis}[
ybar, 
nodes near coords,
ymin=0,
xtick={1,...,10},
]
\foreach \col in {0,1,...,5}{
\addplot table[x expr=\col+1, y index=\col]{\mytable};
}
\end{axis}
\end{tikzpicture}
\end{document}

答案1

bar shift=0pt需要:

在此处输入图片描述

\documentclass{article} 
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\begin{document}
\pgfplotstableread[col sep=comma, header=false]{
9, 11, 7, 1, 6, 4, 3, 8, 10, 5, 2
}{\mytable}
\section{Table}
\pgfplotstabletypeset{\mytable}
\section{A Part of the Table and x+1 shifted}
\begin{tikzpicture}
\begin{axis}[
ybar, 
bar shift=0pt, 
nodes near coords,
]
\foreach \col in {0,1,...,5}{% a part of the table and x+1 shifted
\addplot table[x expr=\col+1, y index=\col]{\mytable};
}
\end{axis}
\end{tikzpicture}
\end{document}

相关内容