gpt4 book ai didi

gnuplot - 通过 gnuplot 随时间堆积的直方图

转载 作者:行者123 更新时间:2023-12-04 16:10:34 27 4
gpt4 key购买 nike

我想绘制一个随时间变化的堆积直方图。事实证明这与 Using gnuplot for stacked histograms 不同。 .

这是数据:

05/11/2014 10:00:00 1   5   1   
05/12/2014 22:00:00 3 5 1
05/13/2014 13:00:00 4 4 1
05/14/2014 09:00:00 3 4 1
05/15/2014 04:00:00 1 2 1

前两列由空格分隔,其余列由制表符分隔。 x 轴应该是日期和时间。

下面的gnuplot脚本有问题:

set title "Test"
set key invert reverse Left outside
set key autotitle columnheader
set style data histogram
set style histogram rowstacked
set style fill solid border -1
set boxwidth 0.75
set datafile separator '\t'
set xdata time
set timefmt '%M/%D/%Y %H:%M:%S'
set format x '%M/%D %H'
plot 'test.dat' using 2:xtic(1) title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3'

上面的脚本会导致错误:Need full using spec for x time data。但是,如果未设置 xdata,它会起作用。

最佳答案

set xdata time 部分在您的情况下确实是错误的。

直方图的工作方式与其他绘图样式有点不同:这些框放置在整数 x 值 012 等处。并获得一个自定义标签,在您的情况下是第一列中包含的时间信息。所以 x 轴不是实时轴。

以下脚本适用于 4.6.4:

set title "Test"
set key invert reverse Left outside
set style data histogram
set style histogram rowstacked
set style fill solid border -1
set boxwidth 0.75
set datafile separator '\t'

plot 'test.dat' using 2:xtic(1) title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3'

enter image description here

如果要更改用于标签的时间格式,则必须手动解析时间字符串。 xtic(1) 等价于 xtic(strcol(1))。您可以使用 strptimestrftime 在命令更改显示的时间信息:

set title "Test"
set key invert reverse Left outside
set style data histogram
set style histogram rowstacked
set style fill solid border -1
set boxwidth 0.75
set datafile separator '\t'

plot 'test.dat' using 2:xtic(strftime('%m/%d %Hh', strptime('%m/%d/%Y %H:%M:%S', strcol(1)))) title 'Col1',\
'' using 3 title 'Col2', '' using 4 title 'Col3'

enter image description here

关于gnuplot - 通过 gnuplot 随时间堆积的直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com