下列的我之前的问题,我发现0
和之间的小网格被移除了。因此,我尝试在里面0.5
添加grid = minor
extra tick style
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xtick={0.5,1,...,4.5},
xmin=0,xmax=5,
minor x tick num = {1},
minor x tick style = {line width = 2pt},
major x tick style = {line width = 2pt},
xmajorgrids, xminorgrids,
major x grid style = {dashed,red},
minor x grid style = {dotted,black},
extra x ticks={0,5},
extra tick style={
grid=minor,
},]
\addplot[mark=none,blue] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
但结果是
我需要的是
0
删除和5
和处的主要刻度- 把小勾号放在
0.25
离题问题
为什么在 处有一个小勾号,4.75
而在 处没有0.25
?
答案1
所以你必须“反过来”做这些事情。因此,将正常刻度的样式应用于额外刻度,反之亦然。
代码注释说明了其工作原理。(不需要的代码我删除了。)
% used PGFPlots v1.14
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5,
% don't state the `xtick's here, but use just the default and state
% the `xtick distance'
xtick distance=0.5,
minor x tick num={1},
minor x tick style={line width=2pt},
xminorgrids,
minor x grid style={dotted,black},
% but draw the `extra x ticks' with the values of the former `xtick' ...
extra x ticks={0.5,1,...,4.5},
% ... but don't draw any labels (because they are there already and
% there is no need to draw them twice)
extra x tick labels={},
% finally apply the needed style for the extra ticks
extra tick style={
tick style={line width=2pt},
major grid style={dashed,red},
grid=major,
},
]
\addplot [mark=none,blue] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}