pgfplots: Восстановление второстепенной сетки/меток после удаления основной сетки

pgfplots: Восстановление второстепенной сетки/меток после удаления основной сетки

Следующиймой предыдущий вопрос, я обнаружил, что второстепенная сетка удалена между 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}

но это приводит к этому

введите описание изображения здесь

Мне нужно, чтобы

  1. снимите основные галочки в 0и 5и
  2. поставьте небольшие галочки на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}

изображение, показывающее результат кода выше

Связанный контент