我正在执行以下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.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's
的框为蓝色,前面带有1
的框为红色。
当我添加palette
关键字并在标题中打印错误消息时失败。
Gnuplot是v4.6补丁级别4,我在Ubuntu 14.04上运行它。我以前用这种方式创建了彩色图,所以这可能只是我忽略的一个小错误,但我完全没有想法。
答案 0 :(得分:2)
您的脚本有两个错误:
根据gnuplot文档(命令行中为? boxes
),如果向plot with boxes
提供了三列输入,则第三列是框的宽度参数。使用可变线/填充颜色需要添加额外的输入列:
plot "file.data" using 0:3:(1):1 with boxes
对四栏的解释:
0
提供索引:第一个是0,第二个是1等。这些给出x位置(假设每个框都是个体)。3
是您的y数据。(1)
为您的框的x宽度提供数值1
。1
提供您的颜色信息。lc
(linecolor)参数来绘制命令你的整个情节命令应该是这样的 使用0:3绘制“file.data”:( 1):带有方框lc调色板的标题“”
请记住,调色板信息会重新调整为介于cbrange
的最小/最大值之间。我的意思是,如果你的数据是二进制的(在这种情况下为1或2),调色板将被正确构造,但如果你想要更多的特定颜色(例如数据值1/2/3)并设置三色调色板的方式可能与预期的方式不同。