在下面的代码中,需要修改两处:
- xlabels 和 xgrid 应仅出现在 x=10^-0.1、x=10^0 和 x=10^0.1 中
- x 轴上的网格应反映对数刻度(即不是常数),主网格仅针对上面列出的值
梅威瑟:
\documentclass[12pt]{book}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.3,width=10cm}
\pgfkeys{/pgf/number format/.cd,set decimal separator={,}}
\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis}[grid=both,enlarge x limits=false,scale only axis,width=8.5cm,height=6cm,ymin=1,ymax=1.5,tick style={draw=none}]
\addplot[color=black,mark=*,mark size=1pt]
coordinates{(0.666667,1.21982)(1.49206,1.19949)};
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
答案1
我认为该选项xtickten={-0.1,0,0.1}
可以满足您对 (1.) 和 (2.) 的要求:它仅显示刻度位置 10^-0.1、10^0 和 10^0.1,并且仅显示这些网格线。
请注意,网格在任何情况下都应遵循对数尺度(对于 -0.1、0 和 0.1 都是如此)。