我有以下内容。
我试图将情节置于中心位置,但将\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=s
change x base=true
x 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}