有没有办法将 PGFPlots 中的 x 轴放在特定的 y 值处?

有没有办法将 PGFPlots 中的 x 轴放在特定的 y 值处?

我更喜欢用单线轴绘制图表,而不是用方框样式(我认为这是 PGFPlots 的默认样式)。我熟悉axis x line*=middle将 x 轴置于 y=0 的选项。但是,我经常需要绘制温度数据图,将轴置于 y=20(数据以 °C 为单位)更有意义。我还没能找到办法做到这一点。有什么办法可以实现吗?

我不想仅仅使用\draw命令来手动创建轴,因为那样的话我就需要手动创建刻度、标签等等。


编辑以澄清我的问题:

我想实现这一点,但不需要 x 轴的临时解决方案。 在此处输入图片描述

\documentclass[margin=3mm]{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

    \begin{document}
\begin{tikzpicture}
    \begin{axis}[
    axis x line=none,
    axis y line=middle,
    xmin=0,
    ymin=5,
    ymin= 10,
    ymax=30,
    xlabel=$x$,
    ylabel=$y$,
    ]

    \addplot coordinates {(0,20) (1,24) (2,28) (3,18) (4,21) (5,27)};
    \coordinate (start) at (axis cs:0,20);
    \coordinate (end)   at (axis cs:5,20);
    \end{axis}

    \draw[->] (start) -- (end);

\end{tikzpicture}
\end{document}

答案1

axis x line shift向下移动 x 轴,负数向上移动 x 轴。从y min=1020 开始-10

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        axis lines=center,
        axis x line shift=-10,
        xmin=0,
        xmax=5,
        ymin=10,
        ymax=30,
        xlabel=$x$,
        ylabel=$y$,
    ]
    \addplot coordinates {(0,20) (1,24) (2,28) (3,18) (4,21) (5,27)};
    \end{axis}
\end{tikzpicture}
\end{document}

x 轴位于 y=20 的图形

相关内容