我在 Latex 中使用 gpfplot 编写了以下代码。生成的图形中的图例始终看起来像所附的图像。每个条目有两个框而不是一个。为什么会发生这种情况?我如何修改图例,以便每个条目只有一个框。
(此外,如何使 y 轴显示实际值而不是 3*10^6)
我好像无法发布图片。因此图例如下所示:[box1_blue] [box2_blue] entry1 [box1_red] [box2_red] entry2
\begin{tikzpicture}
\begin{axis}[
ybar,
tick label style={font=\small},
tickpos=left,
xticklabels={double, 20 digits,7 digits, 6 digits, 5 digits},
xtick={1,2,3,4,5},
ymin=0,
legend entries={entry1,entry2}
]
\addplot +[bar shift=-.2cm] coordinates {(1,3103533) (2,571651) (3,240729) (4,218595) (5,207303)};
\addplot +[bar shift=.2cm]coordinates {(1,519042) (2,86885) (3,46461) (4,44745) (5,43960)};
\end{axis}
\end{tikzpicture}
答案1
更改图例的另一种方法是area legend
使用\addplot
。
要调整 y 刻度标签样式,您可以使用y tick label style
如下所示的方法:
如果你注释掉该fixed
设置,则会得到 y 刻度的科学计数法:
代码:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
tick label style={font=\small},
tickpos=left,
xticklabels={double, 20 digits,7 digits, 6 digits, 5 digits},
xtick={1,2,3,4,5},
ymin=0,
legend entries={entry1,entry2},
y tick label style={/pgf/number format/.cd,%
scaled y ticks = false,
set thousands separator={},
fixed
},
]
\addplot +[bar shift=-.2cm, area legend] coordinates {(1,3103533) (2,571651) (3,240729) (4,218595) (5,207303)};
\addplot +[bar shift=.2cm, area legend]coordinates {(1,519042) (2,86885) (3,46461) (4,44745) (5,43960)};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
尝试这个:
\documentclass{standalone}
\usepackage{tikz, pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
tick label style={font=\small},
tickpos=left,
xticklabels={double, 20 digits,7 digits, 6 digits, 5 digits},
xtick={1,2,3,4,5},
ymin=0,
legend entries={entry1,entry2},
legend image code/.code={%
\draw[#1] (0cm,-0.1cm) rectangle (0.6cm,0.1cm);
}
]
\addplot +[bar shift=-.2cm] coordinates {(1,3103533) (2,571651) (3,240729) (4,218595) (5,207303)};
\addplot +[bar shift=.2cm]coordinates {(1,519042) (2,86885) (3,46461) (4, 44745) (5,43960)};
\end{axis}
\end{tikzpicture}
\end{document}
我在这里添加了legend image code
键来修改条形图的默认键。尝试调整矩形的尺寸以获得所需的效果。
请参考以下问题来更改 x/y 刻度标签格式: