修改 .tikz 文件外部的 tikzpicture 图

修改 .tikz 文件外部的 tikzpicture 图

我不确定我的标题是否表达出了我的意思,但基本上我正在使用 matlab2tikz 为我生成一些图,并且想知道如何在 .tikz 文件之外进行一些修改。

例如 matlab2tikz 的 .tikz 将如下所示:

\begin{tikzpicture}
\begin{axis}[%
width=4.52083333333333in,
height=3.565625in,
scale only axis,
xmin=1, xmax=511, xlabel={$\text{q (um}^\text{-}\text{1)}$},
ymin=0.5, ymax=1, ylabel={Normalized RMS error}]
\addplot [color=blue,solid,line width=1.0pt,forget plot]
table[row sep=crcr]{
1    -57.943745    \\
2    .more data
3    .more data
};
\end{axis}
\end{tikzpicture}%

我正在导入和缩放文档中的文件,如下所示(复制自matlab2tikz 的尺寸太大,并且对齐图轴):

\begin{table}[h!]  
     \begin{center}
     \begin{tabular}{ c  p{6cm}  p{6cm}  }
     \toprule
      A & B & C \\
      \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
      text              
      &     
      \scalebox{0.4}{\input{images/exp5nrmse.tikz}}
      \scalebox{0.4}{\input{images/exp5diff.tikz}}
      \scalebox{0.4}{\input{images/exp5diff.tikz}}]
      & 
      \scalebox{0.4}{\input{images/exp5nrmse.tikz}}
      \\ \bottomrule
      \end{tabular}
      \caption{DDM Results}
      \label{tbl:myLboro}
      \end{center}
\end{table}

是否可以更改图片宽度、高度、x 和 y 标签位置等内容,而无需编辑实际的 .tikz 文件。我之所以问这个问题,是因为所呈现的代码的图形没有对齐,我希望永远不必触碰 .tikz 文件的内容来解决这个问题。以下是问题的图片(我在 paint 中添加的红线显示了错位):

错位的图表

谢谢你的时间。

答案1

您始终可以定义样式。

有很多款式可供选择,其中包括

  • every axis post:允许在文件\begin{axis}中设置后覆盖所有选项.tikz
  • every tikzpicture:允许为每个 tikz 图片定义默认选项。有用的键可以是trim axis lefttrim axis rightbaseline。请参阅pgfplots手册的“对齐选项”部分,了解如何使用它们来解决图中的对齐问题。

这些图将应用于所有输入图片,无需对其进行编辑。

但是,如果所有文件都自行定义,那么\pgfplotsset{every axis post/.style={width=4cm}}在序言中分配可能会让人感到困惑……您确定不想编辑这些文件吗?或许可以添加一些标准选项?.tikzwidthmatlab2tikz


请注意,最佳做法是编写

\begin{axis}[super style]

每当你启动一个轴时,结合一些序言语句\pgfplotsset{super style/.style={title=My Title}}。显然,这需要修改你的.tikz文件。

相关内容