我在极坐标图方面遇到了一些问题。我必须绘制负值,但不改变方向。我尝试将值设置ymin
为负数,但不起作用。
\documentclass[10pt,border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
ymin=-10,
xtick={0,30,...,330}]
\addplot table{
0 -1
30 -2
45 -3
60 -4
75 -5
};
\end{polaraxis}
\end{tikzpicture}
\end{document}
有什么建议吗?为了清楚起见,这就是我所期望的。
答案1
您可以使用将坐标转换为正域y coord trafo/.code=\pgfmathparse{#1+10}
,并通过设置来更正刻度标签y coord inv trafo/.code=\pgfmathparse{#1-10}
:
\documentclass[10pt,border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
xtick={0,30,...,330},
y coord trafo/.code=\pgfmathparse{#1+10},
y coord inv trafo/.code=\pgfmathparse{#1-10}
]
\addplot table{
0 -1
30 -2
45 -3
60 -4
75 -5
};
\end{polaraxis}
\end{tikzpicture}
\end{document}
答案2
\documentclass[10pt,border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
xtick={0,15,...,360},
ytick={0,1,2,...,5}
]
\addplot table{
0 -1
30 -2
45 -3
60 -4
75 -5
};
\addplot table{
0 1
30 2
45 3
60 4
75 5
};
\end{polaraxis}
\end{tikzpicture}
\end{document}
为了得到你想要的相同点,你必须取距离之间的差值,即10-r
。参见结果
\addplot table{
0 9
30 8
45 7
60 6
75 5
};
但我不知道如何更改标签。