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}

相關內容