我有一个列表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}