我在使用 Nico Schlömer 编写的 matlab2tikz 脚本时遇到了一些问题。在 Matlab 中,我创建了一个包含大量块的 3d 图。使用 jet 颜色图突出显示了一些标量值(请参阅附加的 *.png 文件)。
然后我通过调用 matlab2tikz('Test6.tex') 将此图转换为 tikzpicture。Matlab 打印了以下信息
> Found colormap/jet to be a pretty good match for your color map (||diff||=0.0280337).
编译相当大的 tikz 文件
\usetikzlibrary{external} \tikzset{external/system call={lualatex
\tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource"}}
\tikzexternalize[prefix=autofigs/]
和
\begin{figure}[h]
\input{Bilder/Test6.tex}%
\caption{\label{fig:1}Our figure}
\end{figure}
使用 pdflatex 产生此结果(相应 pdf 的屏幕截图)
[
色彩图和色彩条显然与原始图完全不同。有人能帮我解决这个问题吗?
答案1
我遇到了同样的问题。我认为 matlab2tikz.m 文件中的颜色图生成存在错误。您必须在 Test6.tex 文件中更改一些内容:
在你的 tex 文件中应该有以下几行:
point meta min=...,
point meta max=...,
在点上输入您的值。这限制了您的颜色图的颜色。需要删除这两行。完成此操作后,应该已经生成了具有正确颜色值的图,但颜色条定义仍然不正确,为了修复此问题,下一个代码块
colormap={mymap}{[1pt] ...}
需要放在之后
colormap={patchmap}{[1pt] ...}
这将修复颜色条。但颜色条的刻度值仍会关闭。可以使用以下方法手动修复此问题:
colorbar style={
ytick={...},
yticklabels={...}
}
如果不太清楚的话我可以对您的文件进行更改。