Pgfplots закрывает пути в полярном графике

Pgfplots закрывает пути в полярном графике

Я хотел бы создать диаграмму направленности антенны в виде полярной диаграммы, как эта: введите описание изображения здесь (изображение предоставлено: CA Balanis; Теория, анализ и проектирование антенн)

На данный момент я сделал следующий код (файл данных, необходимый для работы примера, —здесь):

\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}

но, как ни странно, pgfplotsзакрывает пути между первой и последней точкой, как видно на полученном изображении:

введите описание изображения здесь

Мои вопросы:

  • как удалить сегменты, закрывающие пути?
  • как улучшить сетку/поверхность?

Пояснение: файл данных поступает из программного обеспечения для моделирования, поэтому у меня нет возможности изменить способ записи в нем данных.

решение1

Две вещи: Вам нужно указать PGFPlots, сколько строк находится в каждом блоке данных, установив mesh/rows=37(в качестве альтернативы вы можете вставить пустую строку после каждого блока данных, но поскольку ваш файл генерируется внешней программой, это, вероятно, не вариант). Также вам нужно установить mesh/ordering=y varies, поскольку по умолчанию PGFPlots предполагает, что координата x меняется.

\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}

Связанный контент