gnuplot错误:没有足够的列用于变量颜色
我正在执行以下gnuplot脚本:gnuplot错误:没有足够的列用于变量颜色,gnuplot,palette,Gnuplot,Palette,我正在执行以下gnuplot脚本: set terminal svg set output "file.svg" set yrange [0:1] set style fill solid set key top left set style fill transparent solid 0.6 border lt -1 set palette model RGB defined (1 "red", 2 "blue") set xtics rotate by -45 plot "file.dat
set terminal svg
set output "file.svg"
set yrange [0:1]
set style fill solid
set key top left
set style fill transparent solid 0.6 border lt -1
set palette model RGB defined (1 "red", 2 "blue")
set xtics rotate by -45
plot "file.data" using 3:xticlabels(2):1 title "" with boxes palette
file.data如下所示:
1 name1 0.356877
1 name2 0.643123
2 name3 0.688312
2 name4 0.311688
因此,我希望数据文件中带前导2
的框为蓝色,前面带1
的框为红色
当我添加调色板
关键字并在标题中打印错误消息时,它失败
Gnuplot是v4.6补丁级别4,我在Ubuntu 14.04上运行它。我以前也用这种方式创建过彩色绘图,所以这可能只是我忽略的一个小错误,但我完全没有想法。您的脚本有两个错误: 格式说明符不正确 根据gnuplot文档(
?命令行中的boxes
),如果向用boxes
绘图提供了三列输入,则第三列是框的宽度参数。使用可变线条/填充颜色需要添加额外的输入列:
plot "file.data" using 0:3:(1):1 with boxes
对四列的说明:
0
提供了一个索引:第一个是0,第二个是1等。它们给出了x位置(假设每个框都是单独的)3
是您的y数据(1)
提供方框x宽度的数值1
1
提供您的颜色信息lc
(linecolor)参数
整个plot命令应该如下所示
使用0:3:(1):1标题“”和方框lc调色板打印“file.data”
还请注意
请记住,调色板信息已重新调整为介于
cbrange
的最小/最大值之间。我的意思是,如果您的数据是二进制的(在本例中为1或2),调色板将正确构造,但是如果您想要更具体的颜色(例如,数据值为1/2/3),并且您以相同的方式设置了三种调色板,那么它可能无法按您预期的方式工作。无需使用plot“file.data”指定固定的框宽将0:3:1:xtic(2)与方框调色板一起使用
效果良好。