命名图函数的组织

命名图函数的组织

我编写了一个显示曲线的代码,代码如下:

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
\pgfplotstableread[col sep=comma]{
       
       -1.00000000e+00,  1.00000000e+00, -3.50000000e+00,         9.75000000e+00, -2.62500000e+01,  1.23005515e+02
       -5.78947368e-01,  1.00000000e+00, -3.07894737e+00,         6.97991690e+00, -1.45631652e+01,  5.91648918e+01
       -1.57894737e-01,  1.00000000e+00, -2.65789474e+00,         4.56440443e+00, -6.15144336e+00,  1.93708181e+01
        2.63157895e-01,  1.00000000e+00, -2.23684211e+00,         2.50346260e+00, -5.66955824e-01, -2.35859076e+00
        6.84210526e-01,  1.00000000e+00, -1.81578947e+00,         7.97091413e-01,  2.63817612e+00, -1.12508974e+01
        1.10526316e+00,  1.00000000e+00, -1.39473684e+00,        -5.54709141e-01,  3.91183117e+00, -1.17793423e+01
        1.52631579e+00,  1.00000000e+00, -9.73684211e-01,        -1.55193906e+00,  3.70188803e+00, -7.66284401e+00
        1.94736842e+00,  1.00000000e+00, -5.52631579e-01,        -2.19459834e+00,  2.45622540e+00, -1.86599894e+00
        2.36842105e+00,  1.00000000e+00, -1.31578947e-01,        -2.48268698e+00,  6.22721971e-01,  3.40091845e+00
        2.78947368e+00,  1.00000000e+00,  2.89473684e-01,        -2.41620499e+00, -1.35074355e+00,  6.68195573e+00
        3.21052632e+00,  1.00000000e+00,  7.10526316e-01,        -1.99515235e+00, -3.01629246e+00,  7.27548248e+00
        3.63157895e+00,  1.00000000e+00,  1.13157895e+00,        -1.21952909e+00, -3.92604607e+00,  5.23419032e+00
        4.05263158e+00,  1.00000000e+00,  1.55263158e+00,        -8.93351801e-02, -3.63212567e+00,  1.36509289e+00
        4.47368421e+00,  1.00000000e+00,  1.97368421e+00,         1.39542936e+00, -1.68665257e+00, -2.77047418e+00
        4.89473684e+00,  1.00000000e+00,  2.39473684e+00,         3.23476454e+00,  2.35825193e+00, -4.85685319e+00
        5.31578947e+00,  1.00000000e+00,  2.81578947e+00,         5.42867036e+00,  8.95046654e+00, -1.82406447e+00
        5.73684211e+00,  1.00000000e+00,  3.23684211e+00,         7.97714681e+00,  1.85378700e+01,  1.01521937e+01
        6.15789474e+00,  1.00000000e+00,  3.65789474e+00,         1.08801939e+01,  3.15683409e+01,  3.56505451e+01
        6.57894737e+00,  1.00000000e+00,  4.07894737e+00,         1.41378116e+01,  4.84897580e+01,  8.00039353e+01
        7.00000000e+00,  1.00000000e+00,  4.50000000e+00,         1.77500000e+01,  6.97500000e+01,  1.49299632e+02
       
       
}\loadedtable

\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xmin=-0.75,  xmax=11,
ymin=-75,  ymax=85,
axis on top,
xtick distance=1,
ytick distance=10,
tick label style={font=\footnotesize, inner sep=1pt, fill=white},
no marks, samples=15, smooth,
every axis plot post/.append style={very thick}
                ]
\addplot table[x index=0,y index=1] {\loadedtable}node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{0}(x)$};
\addplot table[x index=0,y index=2] {\loadedtable}node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{1}(x)$};
\addplot table[x index=0,y index=3] {\loadedtable}node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{2}(x)$};
\addplot table[x index=0,y index=4] {\loadedtable}node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{3}(x)$};
\addplot table[x index=0,y index=5] {\loadedtable}node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{4}(x)$};
\end{axis}
\end{tikzpicture}


\end{document}

结果

在此处输入图片描述

但如你所见,写的内容组织得不太好。因此,我想要一个像下面这样的设计。

在此处输入图片描述

请给个想法。

答案1

这里我为您演示两个选项:

  • 使用图例条目
  • 将文本节点定位在绘图坐标中

对于图例条目,我将 x-max 设置为更高的值,以避免与曲线重叠。当然还有更多放置它的方法。条目在 axis-pramble 中定义。(请参阅 pgfplots 手册中的轴描述/图例)

对于直接放置,它不是沿着曲线(使用pos),这会像您显示的那样放置它,而是使用axis cs:右侧(假设棕色曲线与所述描述相符)。由于文本的长度各不相同,因此最好指定节点的west- 侧anchor,而不是其中心。(参见 pgfmanual 中的节点特性)

结果

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
\pgfplotstableread[col sep=comma]{
       
       -1.00000000e+00,  1.00000000e+00, -3.50000000e+00,         9.75000000e+00, -2.62500000e+01,  1.23005515e+02
       -5.78947368e-01,  1.00000000e+00, -3.07894737e+00,         6.97991690e+00, -1.45631652e+01,  5.91648918e+01
       -1.57894737e-01,  1.00000000e+00, -2.65789474e+00,         4.56440443e+00, -6.15144336e+00,  1.93708181e+01
        2.63157895e-01,  1.00000000e+00, -2.23684211e+00,         2.50346260e+00, -5.66955824e-01, -2.35859076e+00
        6.84210526e-01,  1.00000000e+00, -1.81578947e+00,         7.97091413e-01,  2.63817612e+00, -1.12508974e+01
        1.10526316e+00,  1.00000000e+00, -1.39473684e+00,        -5.54709141e-01,  3.91183117e+00, -1.17793423e+01
        1.52631579e+00,  1.00000000e+00, -9.73684211e-01,        -1.55193906e+00,  3.70188803e+00, -7.66284401e+00
        1.94736842e+00,  1.00000000e+00, -5.52631579e-01,        -2.19459834e+00,  2.45622540e+00, -1.86599894e+00
        2.36842105e+00,  1.00000000e+00, -1.31578947e-01,        -2.48268698e+00,  6.22721971e-01,  3.40091845e+00
        2.78947368e+00,  1.00000000e+00,  2.89473684e-01,        -2.41620499e+00, -1.35074355e+00,  6.68195573e+00
        3.21052632e+00,  1.00000000e+00,  7.10526316e-01,        -1.99515235e+00, -3.01629246e+00,  7.27548248e+00
        3.63157895e+00,  1.00000000e+00,  1.13157895e+00,        -1.21952909e+00, -3.92604607e+00,  5.23419032e+00
        4.05263158e+00,  1.00000000e+00,  1.55263158e+00,        -8.93351801e-02, -3.63212567e+00,  1.36509289e+00
        4.47368421e+00,  1.00000000e+00,  1.97368421e+00,         1.39542936e+00, -1.68665257e+00, -2.77047418e+00
        4.89473684e+00,  1.00000000e+00,  2.39473684e+00,         3.23476454e+00,  2.35825193e+00, -4.85685319e+00
        5.31578947e+00,  1.00000000e+00,  2.81578947e+00,         5.42867036e+00,  8.95046654e+00, -1.82406447e+00
        5.73684211e+00,  1.00000000e+00,  3.23684211e+00,         7.97714681e+00,  1.85378700e+01,  1.01521937e+01
        6.15789474e+00,  1.00000000e+00,  3.65789474e+00,         1.08801939e+01,  3.15683409e+01,  3.56505451e+01
        6.57894737e+00,  1.00000000e+00,  4.07894737e+00,         1.41378116e+01,  4.84897580e+01,  8.00039353e+01
        7.00000000e+00,  1.00000000e+00,  4.50000000e+00,         1.77500000e+01,  6.97500000e+01,  1.49299632e+02
       
       
}\loadedtable

 \begin{tikzpicture}
  \begin{axis}[
    axis lines=center,
    xmin=-0.75,  xmax=18,
    ymin=-75,  ymax=85,
    axis on top,
    xtick distance=1,
    ytick distance=10,
    tick label style={font=\footnotesize, inner sep=1pt, fill=white},
    no marks, samples=15, smooth,
    every axis plot post/.append style={very thick},
    legend entries={
        $Q^{1/2,1/2,5}_{1}(x)$,
        $Q^{1/2,1/2,5}_{2}(x)$  
    },
   ]
    \addplot table[x index=0,y index=1] {\loadedtable};
%                                   node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{0}(x)$};
    \addplot table[x index=0,y index=2] {\loadedtable};
                                    %node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{1}(x)$};
    \addplot table[x index=0,y index=3] {\loadedtable};%node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{2}(x)$};
    \addplot table[x index=0,y index=4] {\loadedtable} node[anchor=west] at (axis cs:7.5,20) {$Q^{1/2,1/2,5}_{3}(x)$};
    \addplot table[x index=0,y index=5] {\loadedtable};%node [pos=0.3, below right] {$Q^{1/2,1/2,5}_{4}(x)$};
  \end{axis}
 
 \end{tikzpicture}

\end{document}

相关内容