pgfplots:将 tikz 绘图添加到轴标签

pgfplots:将 tikz 绘图添加到轴标签

到目前为止,我曾经gnuplot为我的 LaTeX 文档绘制图表。但是,有时它并不那么令人满意,而且我还没有找到制作图表的最佳解决方案。由于我pgfplots时不时在 Tex.SE 上阅读有关的内容,所以我想尝试一下。语法对于初学者来说相当困难,所以我无法弄清楚如何执行以下操作。考虑这个 MWE

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\pagestyle{empty}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        grid=both,
        grid style={line width=0.2pt, dashed, color=black},
        xlabel=xlabel,
        ylabel=ylabel]
    \addplot[color=red,mark=x] coordinates {
        (2,-2.8559703)
        (3,-3.5301677)
        (4,-4.3050655)
        (5,-5.1413136)
        (6,-6.0322865)
        (7,-6.9675052)
        (8,-7.9377747)
    };
    \end{axis}
\end{tikzpicture}
\end{document}

我从pgfplots手册中复制了大部分内容。我想在$x$$y$轴标签上添加小箭头,如下图所示

示例图

我用 制作的gnuplot。在 gnuplot 中,我在 TikZ 的帮助下添加了小箭头,我希望我的 pgfplot 具有非常相似的样式(箭头、网格线等)。

我尝试按如下方式将箭头添加到轴上:

xlabel=\tikz{\draw[>=latex,->,line width=0.2mm] node[left] {Gas / $\mathrm{\frac{kg \cdot J}{m^2}}$} (0,0) -- ++(0.5,0)},

但是,这根本不起作用。我应该如何更改我的代码?

答案1

您的建议嵌套了tikzpictures,应避免这种情况。尝试

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        grid=both,
        grid style={line width=0.2pt, dashed, color=black},
        xlabel=xlabel, xlabel style={alias=aux},
        ylabel=ylabel,  ylabel style={alias=auy}]
    \addplot[color=red,mark=x] coordinates {
        (2,-2.8559703)
        (3,-3.5301677)
        (4,-4.3050655)
        (5,-5.1413136)
        (6,-6.0322865)
        (7,-6.9675052)
        (8,-7.9377747)
    };
    \end{axis}
    \draw[-latex] (auy.east) -- ++(0,0.5);
    \draw[-latex] ([xshift=1mm]aux.east) -- ++(0.8,0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

east相反。请注意,如果您旋转 y 标签,等的含义north将发生变化,然后您可以\draw[-latex] (aux.north) -- ++(0,0.5);改为执行类似操作。还请注意,在轴“完成”后,有一个current axis节点,您可以使用其锚点,以及 等xticklabel cs(请参阅 pgfplots 手册第 4.9 节)。

相关内容