pgfplots 中的日期图

pgfplots 中的日期图

我有一个包含以下日期的 csv 文件

日期,数量

“2007 年 4 月 16 日”,383

“2007 年 4 月 17 日”,448

。 。

我想使用 pgfplots 绘制此图,但我不知道如何指定格式“2007 年 4 月 16 日”。pgfplots 似乎无法理解这一点。

答案1

为此你应该看看dateplotPGFPlots 库(手册 v1.13 第 364 页第 4.21.2 节)。

这是给出的示例之一,其中我仅将数据放入 CSV 文件中。代码注释中给出了有关如何使用它的更多提示。

\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
    \usetikzlibrary{
        pgfplots.dateplot,
    }
\begin{filecontents}{data.csv}
    date, value
    2009-08-18 09:00, 50
    2009-08-18 12:00, 100
    2009-08-18 15:00, 100
    2009-08-18 18:35, 100
    2009-08-18 21:30, 40
    2009-08-19, 20
    2009-08-19 03:00, 0
    2009-08-19 06:00, 35
\end{filecontents}
\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            date coordinates in=x,
            date ZERO=2009-08-18,   % <-- needs to be set for v1.12 and below
            xmin=2009-08-18 06:00,
            xmax=2009-08-19 09:00,
            % set `xtick distance' to 3 hours (3/24)
            xtick distance=0.125,
%            % alternatively you could use every given date as `xtick'
%            xtick=data,
            xticklabel style={
                rotate=90,
                anchor=near xticklabel,
            },
            % set the label style of the `xtick's
            xticklabel=\day.\month.\year\ \hour:\minute,
        ]
            \addplot table [col sep=comma,x=date,y=value] {data.csv};
        \end{axis}
    \end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容