我有一个数据文件(我可以将其处理为任何格式),它包含一个日期时间戳,当前格式为“年-月-日 时:分”和每个记录时间的单个变量。
当我尝试绘制该数据文件时,它被解析为好像日期时间戳是两个变量,我的问题是我应该如何格式化数据文件以将其解析为单个变量。
谢谢
答案1
您应该使用逗号分隔字段。然后您可以使用\addplot table [col sep=comma] {datafile.csv};
如果您想要除了逗号之外还使用空格来使文件更具可读性,则需要使用[col sep=comma,trim cells=true]
来删除逗号周围的空格。
以下是绘制包含日期和时间的文件的简单示例:
\documentclass{minimal}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
date coordinates in=x,
xticklabel={\day.\month.\year\\ \hour:\minute},
x tick label style={align=center},
date ZERO=2010-01-01, % Set near lowest date
xmin={2010-01-01}, % A date with no time is assumed to have a time of 00:00
xmax={2010-01-04},
xtick={2010-01-01 12:00, % Set tick marks
2010-01-02 12:00,
2010-01-03 12:00}
]
\addplot table [col sep=comma,trim cells=true,y=value1] {data.csv};
\addplot table [col sep=comma,trim cells=true,y=value2] {data.csv};
\end{axis}
\end{tikzpicture}
\end{document}
像datafile.csv
这样:
date, value1, value2
2010-01-01 12:00, 2, 0
2010-01-01 23:15, 10, 1
2010-01-03 12:00, 8, 10
将产生以下输出: