我正在写一份报告,我的 Bode 图的要求之一是它们是对数的,但我需要 y 轴上的整数(即 10、20 和 30)。
我尝试使用 ytick={} 但这些数字没有出现在图表中。
我的部分代码:
\begin{tikzpicture}
\begin{loglogaxis}[
xlabel=frequentie $f (\hertz)$,
ylabel=weerstand $R (\ohm)$,
grid=both,
minor grid style={gray!25},
major grid style={gray!25},
ytick={10,15,20,25,30}]
\addplot table[x=f,y=R,col sep=semicolon]{MeetresultatenOpdracht12a.csv};
\end{loglogaxis}
\end{tikzpicture}
谢谢!
答案1
这是 Bode 图的样式示例,尽管 y 轴单位为欧姆。在标签计算中,\tick
已经根据我们设置的底数保存了对数值。因此,如果您只是使用该选项进行漂亮打印,fixed
就会得到所需的值。否则,使用指数函数,您可以将其转换为原始值。
\documentclass{standalone}
\usepackage{pgfplots,siunitx}
\pgfplotsset{compat=1.9}
\usepgfplotslibrary{units}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}[
enlargelimits=false,
grid=both,
ymin=5e-6,ymax=2,
xlabel= Frequency,
ylabel= R,
x unit=\si{\hertz},
y unit=\si{\ohm},
log basis y=10,
log basis x=10,
%dB definition taken as 20 log10(x)
yticklabel={\pgfmathparse{20*(\tick)}\pgfmathprintnumber[fixed]{\pgfmathresult}},
domain=1e-7:1e1,samples=250
]
\addplot+[no marks,thick]{exp(-5*x)};
\end{loglogaxis}
\end{tikzpicture}
\end{document}