编辑:问题已更新,以解决 Willie Wong 的评论。现在,方向图的绘制方式是我为每个值添加了 90。我需要 y 轴从 -N 读取到 0 dB,其中 N 会变化,但是当我按照 MWE 设置 ymin=40 来执行此操作时,我的极坐标图会改变形状。
我正在尝试生成一个与此类似的方向性模式,只是我希望 x 轴在 -90 和 90 之间运行。方向性 http://www.fao.org/3/a-aa044e/AA044E47.gif 然而,我很难把情节安排好。我环顾四周,发现有一个类似的问题,但是针对的是 python。我的振幅数据的最大值为 0 dB,最小值在 -90 dB 左右。当我尝试使用下面的 MWE 绘制它时,它不太正确……
我的 MWE 如下。请注意 polartest.csv 的内容并不重要,因为轴才是困扰我的地方。y 值介于 -90 和 +90 之间,x 值介于 -90 和 0 之间
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\usepgfplotslibrary{polar}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{polaraxis}[xmin=-90,xmax=90,rotate=-90,xticklabel=$\pgfmathprintnumber{\tick}^\circ$,xtick={-90,-45,...,90},xticklabel style={anchor=-\tick-90},x dir=reverse,yticklabel style={anchor=south, yshift=-6mm},ymin=-60, ymax=0,y coord trafo/.code=\pgfmathparse{#1+60},y coord inv trafo/.code=\pgfmathparse{#1-60}]
\addplot [no markers, blue] table [x=coord, y=ampPos, col sep=comma] {polartest.csv};
\end{polaraxis}
\end{tikzpicture}
\end{figure}
\end{document}
答案1
根据@Jake 的评论,我按以下方式设置轴:
\begin{polaraxis}
[xmin=-90,xmax=90,rotate=-90,xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
xtick={-45,-20,0,20,45},xticklabel style={anchor=-\tick-90},x dir=reverse,yticklabel style={anchor=south, yshift=-6mm},ymin=-40, ymax=0,
y coord trafo/.code=\pgfmathparse{#1+40},y coord inv trafo/.code=\pgfmathparse{#1-40}]
这样我就可以绘制以 dB 值保存的方向性数据,最大值为 0。方向性范围从 -90 度到 +90 度。请注意,根据绘图,将上面的数字 40 更改为绘图所需的动态范围。