在给定的图表中清晰显示 y 轴上的所有小数

在给定的图表中清晰显示 y 轴上的所有小数

我想按如下方式显示 y 轴:

在此处输入图片描述

这是我的代码:

\documentclass[english,12pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\begin{document}


\begin{tikzpicture}
\begin{axis}[ybar=1.2pt,% configures `bar shift'
    width=0.80*\textwidth,
    height=7cm,
    ymin=0,
    bar width=10pt,
    enlarge x limits=0.07,
    symbolic x coords={system,system2,system3,system4,system5,system6,system7,system8,system9,system10},
    grid style={dotted,gray},
    tick align=outside,
    tickpos=left,
    xtick=data,
    ymajorgrids=true,
    ytick={0,10000,20000,30000,40000,50000,60000},
    point meta=y,
    x tick label style={rotate=90,anchor=east,tickwidth=2mm,
                        at={(xticklabel cs:0.9,5pt)}, xticklabel},
    legend columns=1,
    legend style={draw=none,nodes={inner sep=2pt}}
]
\addplot[pattern=horizontal lines light blue,pattern color=orange] coordinates 
{(system,62692) (system2,51132) (system3,21046)(system4,11902) (system5,3740) (system6,5898)(system7,3870) (system8,1383) (system9,3947) (system10,849)};
\legend{VS}
\end{axis}
\end{tikzpicture}

\end{document}

但是,我的图表现在显示带有点元数据的 y 轴(例如 10^4)。我该如何禁用它?即使我没有使用特定属性,图表也会自动调整 y 轴,如下所示:

在此处输入图片描述

答案1

您可以通过选项禁用此行为scaled y ticks = false

在此处输入图片描述

% arara: pdflatex

\documentclass[12pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}

\begin{document}
\begin{tikzpicture}
\begin{axis}[%
    ybar=1.2pt, % configures `bar shift'
    width=0.80*\textwidth,
    height=7cm,
    ymin=0,
    bar width=10pt,
    enlarge x limits=0.07,
    symbolic x coords={system,system2,system3,system4,system5,system6,system7,system8,system9,system10},
    grid style={dotted,gray},
    tick align=outside,
    tickpos=left,
    xtick=data,
    ymajorgrids=true,
    ytick={0,10000,20000,30000,40000,50000,60000},
    point meta=y,
    x tick label style={%
            ,rotate=90
            ,anchor=east
            ,tickwidth=2mm
            ,at={(xticklabel cs:0.9,5pt)}
            ,xticklabel
            },
    legend columns=1,
    legend style={draw=none,nodes={inner sep=2pt}},
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    scaled y ticks = false 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
]
\addplot[%
    ,pattern=horizontal lines light blue
    ,pattern color=orange
    ] coordinates 
{(system,62692) (system2,51132) (system3,21046)(system4,11902) (system5,3740) (system6,5898)(system7,3870) (system8,1383) (system9,3947) (system10,849)};
\legend{VS}
\end{axis}
\end{tikzpicture}
\end{document}

如果您遇到其他问题(可能是 y 轴上的其他值),您可能还想添加y tick label style={/pgf/number format/fixed}。这是建议的,但在您的示例中没有显示任何效果。

相关内容