A continuación se muestra un MWE
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{pgfplots.groupplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\centering
\begin{figure}
\centering
\begin{tikzpicture}{fig6}
\begin{groupplot}[
height=6cm,
width=6cm,
group style={group size=2 by 2,
group name = fig6_plots,
xlabels at=edge bottom,
ylabels at=edge left
},
xlabel = {\footnotesize $\rho$},
ylabel = {\footnotesize $\gamma$},
colorbar horizontal,
colorbar to name=Fig6Colorbar,
colormap/blackwhite,
y tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=2,
/tikz/.cd
},
x tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=0,
/tikz/.cd
}]
\nextgroupplot[title={\scriptsize Increasing $\alpha$}, z buffer=sort]
\addplot3[surf, shader=interp,colormap/blackwhite] file {PlusIncreasingSurface.txt};
\nextgroupplot[title={\scriptsize Decreasing $\alpha$}, z buffer=sort]
\addplot3[surf, shader=interp,colormap/blackwhite] file {PlusDecreasingSurface.txt};
\nextgroupplot[title={\scriptsize Delta from Come and Go},view={0}{90}]
\addplot3[surf, shader=interp,point meta min=-10,point meta max=0] file {PlusIncreasingDeltaSurface.txt};
\nextgroupplot[title={\scriptsize Delta from Come and Go},view={0}{90}]
\addplot3[surf, shader=interp,point meta min=-10,point meta max=0] file {PlusDecreasingDeltaSurface.txt};
\end{groupplot}
\node (fig6_Legend) at ($(fig6_plots c1r2.center)!0.5!(fig6_plots c2r2.center)-(0,4.5cm)$){\ref{Fig6Colorbar}};
\end{tikzpicture}
\caption{+Resources Reactive with $\alpha$ Starting at Upper Bound}
\label{ReactiveDecreasing}
\end{figure}
\end{document}
Eso produce esta salida
Cuando se ejecuta con los archivos de datos vinculados aquí
PlusIncreasingDeltaSurface.txt
PlusDecrecienteDeltaSurface.txt
Hasta ahora todo bien... pero dada la gran diferencia de escala, decidí deshacerme de la barra de colores combinada y dejar que cada uno de los gráficos inferiores tenga su propia escala. Así que comenté las partes sobre el nodo y los metapuntos que produjeron la barra de colores combinada, dejándome con
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{pgfplots.groupplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\centering
\begin{figure}
\centering
\begin{tikzpicture}{fig6}
\begin{groupplot}[
height=6cm,
width=6cm,
group style={group size=2 by 2,
group name = fig6_plots,
xlabels at=edge bottom,
ylabels at=edge left
},
xlabel = {\footnotesize $\rho$},
ylabel = {\footnotesize $\gamma$},
colorbar horizontal,
%colorbar to name=Fig6Colorbar,
colormap/blackwhite,
y tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=2,
/tikz/.cd
},
x tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=0,
/tikz/.cd
}]
\nextgroupplot[title={\scriptsize Increasing $\alpha$}, z buffer=sort]
\addplot3[surf, shader=interp,colormap/blackwhite] file {PlusIncreasingSurface.txt};
\nextgroupplot[title={\scriptsize Decreasing $\alpha$}, z buffer=sort]
\addplot3[surf, shader=interp,colormap/blackwhite] file {PlusDecreasingSurface.txt};
\nextgroupplot[title={\scriptsize Delta from Come and Go},view={0}{90}]
%\addplot3[surf, shader=interp,point meta min=-10,point meta max=0] file {PlusIncreasingDeltaSurface.txt};
\addplot3[surf, shader=interp] file {PlusIncreasingDeltaSurface.txt};
\nextgroupplot[title={\scriptsize Delta from Come and Go},view={0}{90}]
%\addplot3[surf, shader=interp,point meta min=-10,point meta max=0] file {PlusDecreasingDeltaSurface.txt};
\addplot3[surf, shader=interp] file {PlusDecreasingDeltaSurface.txt};
\end{groupplot}
%\node (fig6_Legend) at ($(fig6_plots c1r2.center)!0.5!(fig6_plots c2r2.center)-(0,4.5cm)$){\ref{Fig6Colorbar}};
\end{tikzpicture}
\caption{+Resources Reactive with $\alpha$ Starting at Upper Bound}
\label{ReactiveDecreasing}
\end{figure}
\end{document}
Cuando ejecuto esto con los mismos datos, ahora obtengo esto
¿Qué pasa con el "corte" en la parte superior de los dos gráficos de contorno? ¿Parece que hay una barra de colores sin etiqueta en la parte superior de cada gráfico?
Pregunta adicional: ¿cómo cambio la precisión de las marcas en las barras de colores?
Respuesta1
El "corte" que ve en la parte superior de los dos trazados de contorno son en realidad barras de colores para los dos trazados superiores. Estos se incluyen a medida que los agrega colorbar horizontal
a todo el grupo. Cada axis
entorno hereda estas opciones, es decircadaLa trama de este grupo tendrá su propia barra de colores. Para ver esto claramente puedes aumentar el espacio vertical entre las parcelas.
Para evitar esto, debes mover la colorbar horizontal
opción a los ejes donde realmente los quieras. Si desea que las barras de colores de los dos trazados de contorno tengan el mismo formato de marca, simplemente puede crear un nuevo estilo en pgfplots
y aplicarlo a esos ejes. Si tú escribes
\pgfplotsset{%
mycolorbar/.style={%
colorbar horizontal,
every colorbar/.append style={%
x tick label style={%
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=2,
/tikz/.cd}}}
}
antesel tikzpicture
entorno, simplemente puede agregar la opción mycolorbar
a los ejes donde desea barras de colores. Si deseas un formato diferente para las dos barras de colores, debes definirlos en cada una de las \nextgroupplot[...]
opciones.
Por lo tanto, el siguiente código proporciona el siguiente resultado
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{pgfplots.groupplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\pgfplotsset{%
mycolorbar/.style={%
colorbar horizontal,
every colorbar/.append style={%
x tick label style={%
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=2,
/tikz/.cd}}}
}
\begin{figure}
\centering
\begin{tikzpicture}{fig6}
\begin{groupplot}[
height=6cm,
width=6cm,
group style={%
group size=2 by 2,
group name=fig6_plots,
xlabels at=edge bottom,
ylabels at=edge left
},
xlabel = {\footnotesize $\rho$},
ylabel = {\footnotesize $\gamma$},
%colorbar to name=Fig6Colorbar,
colormap/blackwhite,
y tick label style={%
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=2,
/tikz/.cd
},
x tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=0,
/tikz/.cd
}
]
\nextgroupplot[title={\scriptsize Increasing $\alpha$}, z buffer=sort]
\addplot3[surf, shader=interp,colormap/blackwhite] file {PlusIncreasingSurface.txt};
\nextgroupplot[title={\scriptsize Decreasing $\alpha$}, z buffer=sort]
\addplot3[surf, shader=interp,colormap/blackwhite] file {PlusDecreasingSurface.txt};
\nextgroupplot[mycolorbar, title={\scriptsize Delta from Come and Go},view={0}{90}]
\addplot3[surf, shader=interp] file {PlusIncreasingDeltaSurface.txt};
\nextgroupplot[mycolorbar, title={\scriptsize Delta from Come and Go},view={0}{90}]
\addplot3[surf, shader=interp] file {PlusDecreasingDeltaSurface.txt};
\end{groupplot}
\end{tikzpicture}
\caption{+Resources Reactive with $\alpha$ Starting at Upper Bound}
\label{ReactiveDecreasing}
\end{figure}
\end{document}