pfgplots 中的错误图

pfgplots 中的错误图

我想在 LaTeX 文档中绘制一个函数。通常我使用 Mathematica、Matlab 或 Root。此时我想使用pgfplots以使我的文档保持完整的 LaTeX 布局。问题是它pgfplots不能产生与 Mathematica 完全相同的图,更不用说 中发生的奇怪事情了y-axis

我的代码是

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[ 
    xlabel=$x$,
    ylabel={$d\sigma$}
  ] 
    \addplot[blue,domain=0:pi]{1-sin(x/2)^2}; 
  \end{axis}
\end{tikzpicture}
\end{document}

我的输出是

在此处输入图片描述

而 Mathematica 给出

在此处输入图片描述

对此有什么想法吗?

答案1

您的代码有两个问题。首先,域1:2*pi表示区间 [1, 2pi]。在 Mathematica 中,您要求区间 [0,pi]。因此,替换1:2*pi0:pi应该会给出正确的绘制区间。

第二个问题是该sin函数需要以度为单位的参数,而不是弧度。要将弧度转换为度,可以使用该deg函数。sin(x/2)用替换sin(deg(x)/2)即可。

可以通过设置适当的选项手动覆盖最小/最大 x 和 y 值并删除框架。以下代码生成的图与您的 Mathematica 图大致相同:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[ 
    xmin=0, xmax=3.4,
    ymin=0, ymax=1.1, 
    axis lines=left,
    xlabel=$x$,
    ylabel={$d\sigma$}
  ] 
    \addplot[blue,domain=0:pi]{1-sin(deg(x)/2)^2}; 
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容