我正在尝试在 Latex 中绘制一组 tikz 条形图(2 组,每组 4 条)。我查看了这里的所有问题和答案,但找不到类似的问题。我的问题是图形输出有 6 组而不是 2 组。图形应该有 2 组 D1 和 D2,每组 1K、1M、10M 和 100M 中有 4 条
这是我的代码:
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
x tick label style={
/pgf/number format/1000 sep=},
ylabel=Time in Milliseconds,
symbolic x coords={D1,D2},
enlargelimits=0.15,
legend style={at={(0.5,-0.15)},
anchor=north,legend columns=-1,draw=none},
ybar,
bar width=7pt,
]
\addplot[fill=blue!70!gray,draw=none] coordinates {(D1,0.589) (D2,8.4)};
\addplot[fill=gray!80!white,draw=none] coordinates {(D1,0.584) (D2,8.229)};
\addplot[fill=green!30!gray,draw=none] coordinates {(D1,0.599) (D2,8.109)};
\addplot[fill=blue!30!gray,draw=none] coordinates {(D1,0.615) (D2,9.13)};
\legend{1K,1M,10M,100M}
\end{axis}
\end{tikzpicture}
\caption{Time comparison}
\label{fig:readdsplot}
\end{figure}
提前致谢。
答案1
问题的通常格式是提供以 开头\documentclass
和结尾的完整文档\end{document}
,并且可以编译。只有这样,其他人才能轻松尝试。至于你的问题,你需要添加xtick=data
以避免不必要的勾选。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
x tick label style={
/pgf/number format/1000 sep=},
ylabel=Time in Milliseconds,
symbolic x coords={D1,D2},xtick=data,
enlargelimits=0.15,
legend style={at={(0.5,-0.15)},
anchor=north,legend columns=-1,draw=none},
ybar,
bar width=7pt,
]
\addplot[fill=blue!70!gray,draw=none] coordinates {(D1,0.589) (D2,8.4)};
\addplot[fill=gray!80!white,draw=none] coordinates {(D1,0.584) (D2,8.229)};
\addplot[fill=green!30!gray,draw=none] coordinates {(D1,0.599) (D2,8.109)};
\addplot[fill=blue!30!gray,draw=none] coordinates {(D1,0.615) (D2,9.13)};
\legend{1K,1M,10M,100M}
\end{axis}
\end{tikzpicture}
\caption{Time comparison}
\label{fig:readdsplot}
\end{figure}
\end{document}