轴标签和刻度以度为单位,绘图以弧度为单位

轴标签和刻度以度为单位,绘图以弧度为单位

我有一幅图 - x 轴以弧度为单位(从 pi/2 到 pi),使用 gnuplot 效果很好 - 问题是 - 我的 x 轴标签应该以度为单位(-90、-75、...、90),但我有点卡住了。

我应该将所有内容都更改为度数还是可以通过改变刻度来实现这一点?

 \documentclass{article}
 \usepackage{tikz,pgfplots}
 \begin{document}
 \begin{tikzpicture}[plot/.style={very thick,raw gnuplot,mark=none,black}]
 \begin{axis}[minor y tick num=3, minor x tick num=1, width=\textwidth, domain=-pi/2:pi/2,
 ymin=0, ymax=1.3, xmin=-1.571, xmax=1.571, grid=both, y=5cm, axis y line=left, axis x line=bottom]
 \addplot gnuplot [plot,red]
     { ag1(x) = 0.5 + 0.2*sin(10*x);plot[-pi/2:pi/2]ag1(x)};
 \end{axis} \end{tikzpicture}
 \end{document}

它看起来应该与这张图片类似: 在此处输入图片描述

答案1

您可以使用以下方式设置gnuplot使用度数表示角度set angles degrees;

 \documentclass{article}
 \usepackage{tikz,pgfplots}
 \begin{document}

 \begin{tikzpicture}[plot/.style={very thick,raw gnuplot,mark=none,black}]
 \begin{axis}[
    minor y tick num=3,
    minor x tick num=1, 
    width=\textwidth,
    ymin=0, ymax=1.3,
    grid=both, y=5cm,
    axis y line=left,
    axis x line=bottom
 ]
 \addplot gnuplot [plot,red] {
   set angles degrees;
   ag1(x) = 0.5 + 0.2*sin(10*x);
   plot [-90:90] ag1(x)
 };
 \end{axis} \end{tikzpicture}
 \end{document}

或者,您可以使用以下方式将结果转换为度数x filter

 \documentclass{article}
 \usepackage{tikz,pgfplots}
 \begin{document}

 \begin{tikzpicture}[plot/.style={very thick,raw gnuplot,mark=none,black}]
 \begin{axis}[
    minor y tick num=3,
    minor x tick num=1, 
    width=\textwidth,
    ymin=0, ymax=1.3,
    grid=both, y=5cm,
    axis y line=left,
    axis x line=bottom,
    x filter/.code=\pgfmathparse{#1*360/(2*pi)}
 ]
 \addplot gnuplot [plot,red] {
   ag1(x) = 0.5 + 0.2*sin(10*x);
   plot [-pi/2:pi/2] ag1(x)
 };
 \end{axis} \end{tikzpicture}
 \end{document}

相关内容