Gnuplot起始到结束位置为x
我有一个数据文件test.tsv,它由三列组成: 字母开头和结尾 a 15 20 a 40 60 b 124 171 b 237 316Gnuplot起始到结束位置为x,gnuplot,Gnuplot,我有一个数据文件test.tsv,它由三列组成: 字母开头和结尾 a 15 20 a 40 60 b 124 171 b 237 316 我将y轴设置为表示a和b,如何使线覆盖从开始到结束?在更一般的情况下,您可以执行以下类似于的操作 创建唯一关键点列表,并将其用作y轴标记/标签 定义查找函数并相应地绘制数据 您可以将打印样式与向量一起使用,但是如果您想要更厚的条而不是线,我会将打印样式与boxyError一起使用,因为更厚的线也会沿线方向延伸 代码: ### Schedule plot res
我将y轴设置为表示a和b,如何使线覆盖从开始到结束?在更一般的情况下,您可以执行以下类似于的操作
与向量一起使用
,但是如果您想要更厚的条而不是线,我会将打印样式与boxyError一起使用
,因为更厚的线也会沿线方向延伸
代码:
### Schedule plot
reset session
$Data <<EOD
# category start end
"a task" 15 20
"b task" 40 60
"c task" 124 171
"d task" 237 316
"c task" 30 35
"a task" 111 197
"d task" 95 103
"b task" 80 93
"special" 10 100
EOD
# create list of unique keys
KeyList = ''
set table $Dummy
plot $Data u (Key='"'.strcol(1).'"', strstrt(KeyList,Key) ? \
NaN : KeyList=KeyList.Key." ") w table
unset table
# define function for lookup
Lookup(s) = (Index = NaN, sum [i=1:words(KeyList)] \
(Index = s eq word(KeyList,i) ? i : Index,0), Index)
set yrange [0.5:words(KeyList)+0.5]
plot $Data u 2:(Index=Lookup(strcol(1))):($3-$2):(0):(Index): \
ytic(word(KeyList,Index)) w vector nohead lw 4 lc var notitle
### end of code
###明细表绘图
重置会话
$Data