Plot 在时间轴中绘制序列

Plot 在时间轴中绘制序列,plot,gnuplot,Plot,Gnuplot,我在谷歌上搜索了一下,但没有找到一个好的解决方案。我有一系列事件:a、B和C随着时间的推移反复发生,我想在时间轴上绘制如下: A 4 B 6 C 10 A 14 B 17 C 22 A 27 B 27 C 35 A 35 set terminal png enhanced set style data histograms set style histogram columnstacked set output "timeline.png" set xlabel "e

我在谷歌上搜索了一下,但没有找到一个好的解决方案。我有一系列事件:a、B和C随着时间的推移反复发生,我想在时间轴上绘制如下:

A   4
B   6
C  10
A  14
B  17
C  22
A  27
B  27
C  35
A  35
set terminal png enhanced
set style data histograms

set style histogram columnstacked
set output "timeline.png"
set xlabel "events"
set ylabel "min"
set auto x
set xtics 1
set key top left
set boxwidth 0.5 relative
set style fill solid 0.6 border -1
plot 'timeline.txt' using 2 t "execution"
aaabbbaaaaccaaaaabbbbbb

但以一种更加美观和丰富多彩的方式。我使用gnuplot,因此,如果有人知道gnuplot的诀窍,那就太好了

原始数据的格式如下:

A   4
B   6
C  10
A  14
B  17
C  22
A  27
B  27
C  35
A  35
set terminal png enhanced
set style data histograms

set style histogram columnstacked
set output "timeline.png"
set xlabel "events"
set ylabel "min"
set auto x
set xtics 1
set key top left
set boxwidth 0.5 relative
set style fill solid 0.6 border -1
plot 'timeline.txt' using 2 t "execution"
我编写的gnuplot脚本如下:

A   4
B   6
C  10
A  14
B  17
C  22
A  27
B  27
C  35
A  35
set terminal png enhanced
set style data histograms

set style histogram columnstacked
set output "timeline.png"
set xlabel "events"
set ylabel "min"
set auto x
set xtics 1
set key top left
set boxwidth 0.5 relative
set style fill solid 0.6 border -1
plot 'timeline.txt' using 2 t "execution"
在对上述数据运行此脚本后,我得到以下绘图:

我想要:1)根据第一列上的字母重复颜色,2)直方图是水平的,一维图


谢谢你的帮助。

像这样的东西怎么样:

sum=0
cum_sum(x)=(sum=sum+x,sum-x/2)
set yrange [-1:2]
set xrange [0:*]
unset ytics
set style fill solid
plot 'test.dat' using (cum_sum($2)):(1.0):($2):($0) w boxes t "execution" lc variable
这是一个根据标签给盒子上色的版本(我必须承认,我对这种黑客行为感到非常自豪):


如果要控制特定标签的颜色,则需要使用
set style line X lc rgb'cyan'
,其中
LABELS
字符串中从索引
X
开始的标签将被着色为
cyan

谢谢!实际上,我想用大小与事件发生的时间间隔相对应的条来表示标签。很像一个水平叠加的柱状图,很像本页“库尔德工人党”一节所示:我用更多的输入更新了我的问题。谢谢你的时间,太好了!这对我很有效。谢谢我会接受你的回答。