pgfplot 在刻度上有固定的小数位

pgfplot 在刻度上有固定的小数位

我试图在我的文档中显示此图表的 y 轴刻度标签,格式为小数点后两位。我尝试了以下代码,但它似乎不喜欢我尝试更改 y 刻度标签样式的方式,我做错了什么?

\documentclass{article}
\usepackage{pgfplots}

\begin{document}

\pgfplotstableread{Pone.dat}{\Pone}
\begin{center}
\begin{tikzpicture}[scale=0.9]
\begin{axis}[minor tick num=1,xmin=0,xmax=6,ymin=100000, ytick={100000,125000,150000,175000,200000,225000,250000,275000,300000}, y tick label style={/pgf/number format/.cd,fixed,fixed zerofill,precision=2},
xlabel={X}, ylabel={Y},
\addplot [black,thick] table{\Pone};
\end{axis}
\end{tikzpicture}
\end{center}

\end{document}

举例来说,Pone.dat 是:

1 100000
2 150000
3 200000
4 210000
5 220000
6 230000

答案1

一些刻度标签放置和内部分隔的样式是在用户指定的样式之后设置的。如果您/pgf/number format/.cd在样式中使用,则此目录更改将保持活动状态,并且 TikZ 会抱怨找不到目录/pgf/number format/inner sep中的键,例如/tikz。您需要.cd返回/tikz目录(或不使用,但对所有选项.cd使用完整路径)。/pgf/number format

\documentclass[]{article}
\usepackage{pgfplots}
\begin{document}

\begin{center}
\begin{tikzpicture}[scale=0.9]
\begin{axis}[
    minor tick num=1,
    xmin=0,
    xmax=6,
    ymin=100000,
    ytick={100000, 125000, 150000, 175000, 200000, 225000, 250000, 275000, 300000}, 
    xlabel={X}, ylabel={Y},
    y tick label style={
        /pgf/number format/.cd,
        fixed,
        fixed zerofill,
        precision=2,
        /tikz/.cd
    }
]
\addplot [black,thick] table [row sep=crcr]{
0 150000\\
2 200000\\
};
\end{axis}
\end{tikzpicture}
\end{center}

\end{document}

相关内容