我有一个 pgf 图。现在 x 轴上的刻度是频率,hz,但为了节省再次导出文件的时间,它应该是 rad/s。在 pgf 图中,是否可以轻松地将每个数据点的 x 坐标乘以某个因子?在本例中是 2*pi?
答案1
使用x expr
方式
\addplot table[x expr=\thisrowno{0}*2*pi, y index=1] {\table};
假设您的横坐标存储在宏中加载的表的第一列中\table
,而纵坐标存储在第二列中。
手册第 29 页提供了更多详细信息pgfplots
。
答案2
是的!pgfplots
手册上写道:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xtick={0,1.5708,...,10},
domain=0:2*pi,
scaled x ticks={real:3.1415},
xtick scale label code/.code={$\cdot \pi$}]
\addplot {sin(deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}
感兴趣的选项是scaled x ticks={real:3.1415}
,它告诉 pgfplots 将 x 值缩放 3.1415 倍。您可以通过删除代码来关闭轴下方的“乘以 PI”部分xtick scale label code/.code={$\cdot \pi$}
。