TikZ 图:轴上的中心和单位

TikZ 图:轴上的中心和单位

我有以下内容。

在 pdf 阅读器中截图

我试图将情节置于中心位置,但将\begin{center}TikZ 图像放在周围却不起作用。

我还想改变 x 轴的单位。x 轴用于表示时间。轴当前使用秒,我必须使用 xmin 和 xmax 放大才能获得结果。现在*10^(-2)底部有一个,但我希望在每个刻度处标记毫秒或微秒。

这是我现在拥有的代码。

\begin{center}
\begin{tikzpicture}
\begin{axis}[xlabel=tijd,
    ycomb, ymin=0, ymax=4, xmin=0.0248, xmax=0.0255,
    enlarge y limits=false,
    width=15cm, height=5cm,
    tick align = outside,
    grid = major,
    %scaled x ticks = false,
    yticklabels={X, 0, settings, macroblock, picture},
    %x tick label style={/pgf/number format/fixed}
    ]
\addplot +[mark=none] table {seperatemb.dat};
\end{axis}
\end{tikzpicture}
\end{center}

答案1

您可以使用 将数据转换为毫秒x filter/.code=\pgfmathparse{#1*1000},但更优雅的方法是使用库,该库在序言中units使用加载。然后,您可以设置为指定数据以秒为单位,设置为允许 pgfplots 转换数据,然后设置为将单位更改为毫秒。\pgfplotslibrary{units}x unit=schange x base=truex SI prefix=milli

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{units}


\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=tijd,
    ycomb, ymin=0, ymax=4, xmin=0.0248, xmax=0.0255,
    enlarge y limits=false,
    width=15cm, height=5cm,
    tick align = outside,
    grid = major,
    %scaled x ticks = false,
    yticklabels={X, 0, settings, macroblock, picture},
    x unit=s,
    change x base=true,
    x SI prefix=milli
    ]
\addplot +[mark=none, ultra thick] table {
0.0249 2
0.0251 1
0.0254 1
};
\end{axis}
\end{tikzpicture}


\end{document}

相关内容