Problemas con la barra de colores/mapa de colores de Matlab2Tikz

Problemas con la barra de colores/mapa de colores de Matlab2Tikz

Tengo algunos problemas al utilizar el script matlab2tikz de Nico Schlömer. En Matlab creé un gráfico en 3D que incluía un montón de parches. Algunos valores escalares se resaltan usando el mapa de colores del jet (consulte el archivo *.png adjunto).

figura matlab

Luego traduje esta figura a una imagen tikz invocando matlab2tikz('Test6.tex'). Matlab imprimió la información.

> Found colormap/jet to be a pretty good match for your color map (||diff||=0.0280337).

Compilando el archivo tikz bastante grande por

\usetikzlibrary{external} \tikzset{external/system call={lualatex
    \tikzexternalcheckshellescape -halt-on-error
    -interaction=batchmode -jobname "\image" "\texsource"}}
\tikzexternalize[prefix=autofigs/]

y

\begin{figure}[h]
\input{Bilder/Test6.tex}%
\caption{\label{fig:1}Our figure}
\end{figure}

El uso de pdflatex produce estos resultados (captura de pantalla del pdf correspondiente)

[Salida resultante[2]

Tanto el mapa de colores como la barra de colores son obviamente completamente diferentes al gráfico original. ¿Alguien puede ayudarme a solucionar este problema?

Respuesta1

Experimenté el mismo problema. Creo que hay un error en la generación del mapa de colores en el archivo matlab2tikz.m. Tendrás que cambiar algunas cosas en tu archivo Test6.tex:

En su archivo tex debería haber las siguientes líneas:

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

Con los puntos tus valores. Esto limita los colores de su mapa de colores. Estas dos líneas deben eliminarse. Después de hacer esto, se debe generar un gráfico con los valores de color correctos, pero la definición de la barra de colores seguirá siendo incorrecta para solucionar este problema, el siguiente bloque de código

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

debe colocarse después

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

Esto arreglará la barra de colores. Pero aún así los valores de tick de la barra de colores estarán desactivados. Esto se puede solucionar manualmente usando:

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

Si no está completamente claro, puedo realizar los cambios en su archivo.

información relacionada