使用 matlab2tikz 对 3D 图形进行轴对齐

使用 matlab2tikz 对 3D 图形进行轴对齐

我正在尝试将多个 3D 图形(在 matlab 中创建)包含到一个 latex 文件中。

matlab中的原始3D图形如下所示:

在此处输入图片描述

在创建这些图形的 .m 文件中,我使用

ylabel('transformed W_t/D_t','VerticalAlignment','bottom')   
xlabel('\lambda_t','VerticalAlignment','bottom')

将 xlabel 和 ylabel 向上移动。

然后我用

 matlab2tikz('figure2a_2.tikz', 'height', '\figureheight', 'width', '\figurewidth','extraAxisOptions','zticklabel style={/pgf/number format/fixed}')

将文件转换为.tikz 文件。

在 Latex 中,我运行

\documentclass[11pt]{article}
\usepackage{pgfplots, pgfplotstable}
\begin{document}
\begin{figure}[!htb]
\centering 
\newlength\figureheight 
\newlength\figurewidth 
\setlength\figureheight{5cm} 
\setlength\figurewidth{6cm}  
\input{Figure2a_2.tikz}
 \caption{{\bf Structure of model: capital can be invested in a bank sector and an equity sector.} An intermediary has the expertise to reallocate capital between the sectors and to monitor bank capital against bank crashes.}
\label{fig1} 
\end{figure}
\end{document}

并得到以下数据: 在此处输入图片描述

问题是现在 xlabel 和 ylabel 距离 3d 图太远了,我想将它们稍微向上移动。这可行吗?是否有一些选项值可以传递给命令?或者也许在 .tex 文件中matlab2tikz编写一些全局规范?pgfplots

我已经尝试修复这个问题好几个小时了,但没有任何效果。非常感谢您的帮助!

注意:我无法直接在 latex 中绘制图表,tikzpicture因为原始数据文件需要许多操作,而我更喜欢在 matlab 中进行绘制。

答案1

我已经解决了这个问题,只需使用:

 matlab2tikz('figure2a_2.tikz', 'height', '\figureheight', 'width', '\figurewidth','extraAxisOptions','zticklabel style={/pgf/number format/fixed},ylabel style={yshift=0.9em}');

进行转换并

\pgfplotsset{scaled z ticks=false}

在 .tex 文件设置中。谢谢。

相关内容