Matlab2tikz 在过去的一个月引起了我的注意,并且一直在使用HowToTeX 的简单教程。到目前为止,它运行良好,只剩下一个问题,我无法将 锚定ylabel
到yaxis
。
我使用 matlab 绘制多个子图(例如 3x3),并使用 matlab2tikz 获取.tik
z 输入文件。我使用的代码类似于:
\begin{figure} [H]
\scriptsize
\centering
\setlength\figureheight{3cm}
\setlength\figurewidth{3cm}
\input{fig_matlab2tikz.tikz}
\caption{A great subplot.}
\label{fig:matlabfigure}
\normalsize
\end{figure}
距离ylabel
图太远,所以看起来属于ylabel
左侧的子图。我尝试使用以下代码将标签移近,但没有任何变化。
\pgfplotsset{
/pgfplots/xlabel near ticks/.style={
/pgfplots/every axis x label/.style={
at={(ticklabel cs:3)},anchor=near ticklabel}},
/pgfplots/ylabel near ticks/.style={
/pgfplots/every axis y label/.style={
at={(ticklabel cs:3)},rotate=90,anchor=near ticklabel}}}
答案1
答案2
我本来想对 vipers36 的回答进行评论,但我没有这方面的声誉。
无论如何,他的回答对我没有直接作用,但经过反复试验后,我发现以下方法对我有用:
\begin{axis}[
...,
ylabel style={yshift=-10pt}
]
或者在 matlab 中:
matlab2tikz(...,'extraAxisOptions','ylabel style={yshift=-10pt}');
也许这取决于版本,但对我来说,添加风格,将移位放入花括号中并使用y 轴偏移而不仅仅是转变。
答案3
ylabel style
您可以通过在 .tex 文件中向轴添加键来移动 y 标签:
\begin{axis}[
...,
ylabel shift={-10pt}
]
extraAxisOptions
您可以直接从 matlab 将其作为matlab2tikz传递来完成此操作:
matlab2tikz(...,'extraAxisOptions','ylabel shift={-10pt}');
因此,您不必在每次重新绘图时修改 .tex 文件