防止 PGFplots 在 y 轴上使用 10^符号

防止 PGFplots 在 y 轴上使用 10^符号

我希望 y 轴标签为 1000、2000、3000、4000、5000、6000、7000、8000、9000、10,000,...

PGFplots 坚持10^在以下最小示例中保留-notation。

\documentclass[border=5mm]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}[y tick label style={/pgf/number format/fixed},
grid=both,
major grid style={black!50},xlabel={x},ylabel={y}]

\addplot[only marks, mark size=4pt,mark=triangle,fill,black] coordinates{
(0.000001, 13.5e3)
(0.0000024, 11.975e3)
(0.004, 4340)
(1 , 3840)
(10  , 2550)
(100 ,  2357)
(257, 2290)
(315, 2280)};

\end{loglogaxis}
\end{tikzpicture}
\end{document} 

答案1

要使两个轴都采用对数刻度,但只以定点格式打印其中一个轴的标签,可以使用以下方法pgfplots 使用固定点记录刻度:仅适用于一个轴?

\documentclass[border=5mm]{article}
\usepackage{pgfplots}

\pgfplotsset{
  log x ticks with fixed point/.style={
      xticklabel={
        \pgfkeys{/pgf/fpu=true}
        \pgfmathparse{exp(\tick)}%
        \pgfmathprintnumber[fixed relative, precision=3]{\pgfmathresult}
        \pgfkeys{/pgf/fpu=false}
      }
  },
  log y ticks with fixed point/.style={
      yticklabel={
        \pgfkeys{/pgf/fpu=true}
        \pgfmathparse{exp(\tick)}%
        \pgfmathprintnumber[fixed relative, precision=3]{\pgfmathresult}
        \pgfkeys{/pgf/fpu=false}
      }
  }
}

\pgfplotsset{compat=1.9}

\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}[
log y ticks with fixed point,
ytick={2000,4000,8000,16000},
grid=both,
major grid style={black!50},xlabel={x},ylabel={y}]

\addplot[only marks, mark size=4pt,mark=triangle,fill,black] coordinates{
(0.000001, 13.5e3)
(0.0000024, 11.975e3)
(0.004, 4340)
(1 , 3840)
(10  , 2550)
(100 ,  2357)
(257, 2290)
(315, 2280)};

\end{loglogaxis}
\end{tikzpicture}
\end{document} 

相关内容