
У меня возникли некоторые проблемы с использованием скрипта matlab2tikz Нико Шлёмера. В Matlab я создал 3D-график, включающий кучу патчей. Некоторые скалярные значения выделены с помощью jet colormap (см. прикрепленный файл *.png).
Затем я перевел эту фигуру в tikzpicture, вызвав matlab2tikz('Test6.tex'). 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={...}
}
Если что-то не совсем понятно, я могу внести изменения в ваш файл.