
Nico Schlömer による matlab2tikz スクリプトの使用でいくつか問題が発生しました。Matlab で、多数のパッチを含む 3D プロットを作成しました。一部のスカラー値は、ジェット カラーマップを使用して強調表示されています (添付の *.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=...,
点の上に値があります。これにより、カラーマップの色が制限されます。これらの2つの行を削除する必要があります。これを行うと、正しい色の値でプロットが生成されますが、カラーバーの定義はまだ間違っています。これを修正するには、次のコードブロックを使用します。
colormap={mymap}{[1pt] ...}
後に置く必要がある
colormap={patchmap}{[1pt] ...}
これにより、カラーバーが修正されます。ただし、カラーバーの目盛りの値は依然としてオフになります。これは、次のコマンドを使用して手動で修正できます。
colorbar style={
ytick={...},
yticklabels={...}
}
完全に明確でない場合は、ファイルに変更を加えることができます。