我正在尝试将多个 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 文件设置中。谢谢。