我尝试了许多关于类似问题的解决方案,但都无济于事……我在 Latex 中有一个条形图,其中包含从 2 550 到 18 016 的值。我希望 y 轴上有数字:0、5 000、10 000、15 000、20 000。但我遇到了一个问题,不是 20 000,而是奇怪的数字 16 384(我希望那里有 20 000)和 10^4(我不想看到这个数字)。有没有什么简单的解决方案?我当前的代码是:
\begin{axis}[
title = Počet matchupov,
ybar,
nodes near coords, bar width=0.4cm,
symbolic x coords={PvZ, TvZ, PvT, TvT, PvP, ZvZ},
yticklabel = {\pgfmathparse{\tick*10000}\pgfmathprintnumber{\pgfmathresult}}, y grid style={dashed,black!60},
ymajorticks=true,
ymin=0, ymax=20000,
ytick style={black},]
\addplot coordinates{(PvZ, 18016)(TvZ, 14531)(PvT, 17385)(TvT, 2550)(PvP, 7015)(ZvZ, 6149)};
\end{axis}
\end{tikzpicture}
答案1
欢迎来到本网站。如果您想要答案,您必须发布以 开头\documentclass{...}
并以 结尾的MME\end{document}
在PGFPLOTS manual
(版本 1.18.1)第 4.15.3 节“刻度缩放 - 刻度中的常见因素”中,我们可以看到:
/pgfplots/scaled ticks=true|false|base 10:<e>|real:<num>|manual:{<label>}{<hcode<} (initially true)
- 你
scaled ticks=false
的问题已经解决了。 - 使用
\pgfkeys{/pgf/number format/set thousands separator={\ }}
空格作为千位分隔符
代码
\documentclass[border=3mm]{standalone}
%https://tex.stackexchange.com/questions/697223/how-to-set-max-of-y-axis-on-bar-chart
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\pgfkeys{/pgf/number format/set thousands separator={\ }}%<-- this line
\begin{axis}[
scaled ticks=false,%<--- this line
title = Počet matchupov,
ybar,
nodes near coords, bar width=0.4cm,
symbolic x coords={PvZ, TvZ, PvT, TvT, PvP, ZvZ},
y grid style={dashed,black!60},
ymajorticks=true,
ymin=0, ymax=20000,
ytick style={black},]
\addplot coordinates{(PvZ, 18016)(TvZ, 14531)(PvT, 17385)(TvT, 2550)(PvP, 7015)(ZvZ, 6149)};
\end{axis}
\end{tikzpicture}
\end{document}