Matlab2Tikz 颜色条/颜色图问题

Matlab2Tikz 颜色条/颜色图问题

我在使用 Nico Schlömer 编写的 matlab2tikz 脚本时遇到了一些问题。在 Matlab 中,我创建了一个包含大量块的 3d 图。使用 jet 颜色图突出显示了一些标量值(请参阅附加的 *.png 文件)。

Matlab 图

然后我通过调用 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 的屏幕截图)

[结果输出[2]

色彩图和色彩条显然与原始图完全不同。有人能帮我解决这个问题吗?

答案1

我遇到了同样的问题。我认为 matlab2tikz.m 文件中的颜色图生成存在错误。您必须在 Test6.tex 文件中更改一些内容:

在你的 tex 文件中应该有以下几行:

point meta min=...,
point meta max=...,

在点上输入您的值。这限制了您的颜色图的颜色。需要删除这两行。完成此操作后,应该已经生成了具有正确颜色值的图,但颜色条定义仍然不正确,为了修复此问题,下一个代码块

colormap={mymap}{[1pt] ...}

需要放在之后

colormap={patchmap}{[1pt] ...}

这将修复颜色条。但颜色条的刻度值仍会关闭。可以使用以下方法手动修复此问题:

colorbar style={        
    ytick={...},
    yticklabels={...}
    }

如果不太清楚的话我可以对您的文件进行更改。

相关内容