我在极坐标图方面遇到了一些问题。我使用 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}