我想绘制波长和频率的对数图。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
嗯……
- 对数轴不能从 0 开始。
\[ ... \]
是显示数学的命令,而不是方括号。需要时使用方括号- 你必须给出
\pgfplotsset{compat...}
以避免意外 - 此包
mwe
不适用于 MWE(是的,我知道……) - 为何限制
y
? - 调整配方,我只是把
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格式对数刻度, 和在一个轴上具有固定数字格式的对数图