关于 tikzpicture,1)订购,2)盒子

关于 tikzpicture,1)订购,2)盒子

我从 .tikz 文件加载了示例数据。

该文件是使用函数从 MATLAB 导出的matlab2tikz

文件中有三个图,按照我设置的顺序排列。

当我在 TexStudio 中导入文件并绘制它们时,其顺序与 MATLAB 的顺序不一样。

当我改变了来回的顺序时\addplot,如果没有标记,它就会改变。

但如果有标记,即使它\addplot在订单的底部,它也会出现在顶部。(您可以从下图中看到差异)

有时,我有 2 个 Y 轴,同时我想要一个box('on')在 MATLAB 中起作用的框。

我想做的是

\addplot1)当情节有标记时,找到一种方法来改变情节的语法顺序。

2) 即使\begin{axis}包含也要有一个框axis y line*=left。(下图右侧没有实线。)

在此处输入图片描述 在此处输入图片描述

让我附上我在 .tikz 文件中使用的代码。

\begin{tikzpicture}

\begin{axis}[width=5cm, height=3cm, at={(0.307in,0.179in)},
             scale only axis, xmin=0, xmax=10, ymin=0, ymax=20,
             grid=both,axis y line*=left]
\addplot [color=red, line width=1.0pt]
  table[row sep=crcr]{%
0   11.281\\
1   12.173\\
2   13.379\\
3   17.849\\
4   16.629\\
5   10.586\\
6   17.863\\
7   12.878\\
8   16.176\\
9   18.569\\
10  13.865\\
};
\addplot [color=white!60!black, line width=1.0pt, mark size=0.7pt, 
          mark=triangle, mark options={solid, white!60!black}]
  table[row sep=crcr]{%
0   14.692\\
1   12.988\\
2   13.286\\
3   18.048\\
4   13.686\\
5   5.874\\
6   11.792\\
7   14.119\\
8   12.448\\
9   16.188\\
10  8.179\\
};
\addplot [color=black, line width=1.0pt]
  table[row sep=crcr]{%
0   17.624\\
1   1.057\\
2   16.775\\
3   12.581\\
4   13.404\\
5   14.429\\
6   14.062\\
7   17.105\\
8   13.163\\
9   12.295\\
10  9.593\\
};
\end{axis}

\end{tikzpicture}

答案1

plotcyclelist用于控制每个图的格式。 内置了几个,pgfplots例如colorexoticblack white,或者您可以使用 制作自己的图\pgfplotscreateplotcyclelist {cycle list name}{cycle list},其中循环列表指定线条和标记颜色、形状等。有关详细信息,请参阅手册的第 4.7.7 节。

要获得实心的第二个 y 轴,请更改axis y line*=leftaxis lines=box

我添加了line join=bevel,它以改进线条在坐标处的连接方式。

这是 MWE:

\documentclass[tikz,border=3pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}

\pgfplotsset{
    compat=1.15,
}

\pgfplotscreateplotcyclelist{set1}{%   <--
    {color=red,mark=square*}, 
    {color=white!60!black,mark=triangle*}, 
    {color=black,mark=diamond*},
}

\begin{document}
    \begin{tikzpicture}

    \begin{axis}[width=5cm, height=3cm, at={(0.307in,0.179in)},
    scale only axis, xmin=0, xmax=10, ymin=0, ymax=20,
    grid=both,
    every axis plot/.append style={line width=1pt},
    mark size=0.7pt,
    mark options={solid},
    line join=bevel,     %<--
    axis lines=box,      %<--
    cycle list name=set1 %<--
       ]
    \addplot
    table[row sep=crcr]{%
        0   11.281\\
        1   12.173\\
        2   13.379\\
        3   17.849\\
        4   16.629\\
        5   10.586\\
        6   17.863\\
        7   12.878\\
        8   16.176\\
        9   18.569\\
        10  13.865\\
    };
    \addplot
    table[row sep=crcr]{%
        0   14.692\\
        1   12.988\\
        2   13.286\\
        3   18.048\\
        4   13.686\\
        5   5.874\\
        6   11.792\\
        7   14.119\\
        8   12.448\\
        9   16.188\\
        10  8.179\\
    };
    \addplot
    table[row sep=crcr]{%
        0   17.624\\
        1   1.057\\
        2   16.775\\
        3   12.581\\
        4   13.404\\
        5   14.429\\
        6   14.062\\
        7   17.105\\
        8   13.163\\
        9   12.295\\
        10  9.593\\
    };
    \end{axis}

    \end{tikzpicture}
\end{document}

结果如下:

在此处输入图片描述

相关内容