如何设置条形图上 y 轴的最大值

如何设置条形图上 y 轴的最大值

我尝试了许多关于类似问题的解决方案,但都无济于事……我在 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}

在此处输入图片描述

相关内容