
我在使用 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={...}
}
如果不完全清楚,我可以對您的文件進行更改。