使用 tikz 和 pgfplots 绘制对数图

使用 tikz 和 pgfplots 绘制对数图

我想绘制波长和频率的对数图。x 轴和 y 轴显示指数图。我希望​​以简单的数字表示。如何更改轴上的标签?

由于波长λ = c/f

图表应该不需要数据集,因为方程的一个结束值和一个起始值就足够了。你如何实现这样的事情?

c = 光速 = 299792458 米/秒

我在附录中添加了一个例子。

\documentclass{article}
\usepackage{mwe}
\usepackage{pgfplots}
\usepackage{siunitx}

\begin{document}
    \begin{tikzpicture}
    \begin{axis}\[
    width=0.9\textwidth,
    title=Umrechnung Frequenz in Wellenlänge,
    xlabel={Frequenz $f$ \[\unit{\MHz}\]},
    ylabel={Wellenlänge $\lambda$ \[\unit{\m}\]},
    xmin=0, xmax=1000,
    ymin=0, ymax=300,
    domain=0:1000,
    restrict y to domain=0:300,
    grid=both
    \]
    \end{axis}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

嗯……

  1. 对数轴不能从 0 开始。
  2. \[ ... \]是显示数学的命令,而不是方括号。需要时使用方括号
  3. 你必须给出\pgfplotsset{compat...}以避免意外
  4. 此包mwe不适用于 MWE(是的,我知道……)
  5. 为何限制y
  6. 调整配方,我只是把300/x一些东西放在那里。
\documentclass{article}
\usepackage{pgfplots}\pgfplotsset{compat=1.18}
\usepackage{siunitx}

\begin{document}
\begin{tikzpicture}
    \begin{loglogaxis}[
        width=0.9\textwidth,
        title=Umrechnung Frequenz in Wellenlänge,
        xlabel={Frequenz $f$ [\unit{\MHz}]},
        ylabel={Wellenlänge $\lambda$ [\unit{\m}]},
        xmin=1, xmax=1000,
        ymin=1, ymax=300,
        domain=1:1000,
        log basis y  = 10,
        grid=both
        ]
        \addplot [thick, blue] {300/x};
    \end{loglogaxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

也可以看看pgfplots:如何根据数字自定义对数图的数字格式样式?pgfplots ticklabel格式对数刻度, 和在一个轴上具有固定数字格式的对数图

相关内容