是否可以使用 pgfplots 将绘图的 x 坐标乘以某个因子

是否可以使用 pgfplots 将绘图的 x 坐标乘以某个因子

我有一个 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$}

相关内容