我希望 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}