Pgfplots cierra caminos en la trama polar

Pgfplots cierra caminos en la trama polar

Me gustaría crear un patrón de radiación de antena en forma de diagrama polar como este: ingrese la descripción de la imagen aquí (créditos de la imagen: CA Balanis; Teoría, análisis y diseño de antenas)

Lo que he hecho hasta ahora es el siguiente código (el archivo de datos para que el ejemplo funcione esaquí):

\documentclass{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
        data cs=polar,
%       restrict x to domain=0:180,
%       restrict y to domain=0:180,
        ymin=-90,
        ymax=90,
        zmax=10.8,
        ]
\addplot3[surf,fill=white] table[x index={1},y index={0},z index={2}]{subarray-3d-plot-dir.csv};
\end{axis}
\end{tikzpicture}
\end{document}

pero, curiosamente, pgfplotscierra los caminos entre el primer y el último punto, como se puede ver en la imagen resultante:

ingrese la descripción de la imagen aquí

Mis preguntas:

  • ¿Cómo eliminar los segmentos que cierran los caminos?
  • ¿Cómo mejorar la malla/superficie?

Aclaración: el archivo de datos proviene de un software de simulación, por lo que no tengo ningún medio para cambiar la forma en que se escriben los datos en él.

Respuesta1

Dos cosas: debe decirle a PGFPlots cuántas filas hay en cada bloque de datos mediante la configuración mesh/rows=37(alternativamente, puede insertar una fila vacía después de cada bloque de datos, pero dado que su archivo es generado por un programa externo, probablemente esa no sea una opción). aquí). Además, es necesario configurar mesh/ordering=y varies, ya que de forma predeterminada, PGFPlots supone que la coordenada x varía.

\documentclass[border=5mm]{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
        data cs=polar,
        ymin=-180, ymax=180,
        xmin=-180, xmax=180,
        zmin=-20, zmax=11,
        unit vector ratio*=1 1 10,
        z buffer=sort,
        view={45}{30},
        width=15cm
        ]
\addplot3[surf, fill=white, mesh/ordering=y varies, mesh/rows=37] table[x index={1},y index={0},z index={2}]{data.dat};
\end{axis}
\end{tikzpicture}
\end{document}

información relacionada