极坐标图 x 和 y 刻度和单位

极坐标图 x 和 y 刻度和单位

我在极坐标图方面遇到了一些问题。我使用 Scilab 生成绘图坐标,然后在 Latex 中绘制它们。我不知道如何删除这些点(mark = \empty什么都不做,但例如用 更改标记mark=x也什么都不做),也无法将刻度移出图片。有人能帮忙吗?

我也想为刻度添加单位,x 刻度为度,y 刻度为 dB。

我的代码如下:

\begin{tikzpicture}
\begin{polaraxis}[xmin=-90,xmax=90,rotate=90]
    \addplot table [x index=0, y index=1,col sep = comma, data cs=polarrad,mark = \empty]{mydata05.csv};
\end{polaraxis}
\end{tikzpicture}

极坐标图

答案1

no markers正如约翰所说,您可以使用选项中的键删除这些点polaraxis(或者\addplot如果您只想删除单个图的标记,则在选项中)。

为了将刻度标记移出轴,您可以在序言中放入以下代码片段,这将确保无论轴如何旋转,标签都能正确放置(是每次调用\pgftransform@angle时设置的键):rotate=<angle>

\makeatletter
\def\pgftransform@angle{0}
\pgfplotsset{
    xticklabel style={
        inner xsep=1pt,
        ellipse,
        anchor=\tick-(180-\pgftransform@angle)
    },
    yticklabel style={
        anchor=\pgftransform@angle
    }
}
\makeatother

对于度数符号,您可以使用其他问题中的方法(极坐标图,添加度数符号并隐藏半径轴标签),正如克里斯蒂安所提到的。

(与 同轴rotate=35

\documentclass[10pt,border=10pt]{standalone}

\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\usetikzlibrary{shapes.geometric}

\makeatletter
\def\pgftransform@angle{0}
\pgfplotsset{
    xticklabel style={
        inner xsep=1pt,
        ellipse,
        anchor=\tick-(180-\pgftransform@angle)
    },
    yticklabel style={
        anchor=\pgftransform@angle
    }
}
\makeatother

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[xmin=-90,xmax=90,rotate=90,
    domain=-90:90,
    xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
    no markers]
    \addplot +[orange, thick, smooth] {cos(x)};
\end{polaraxis}
\end{tikzpicture}
\end{document}

相关内容