我需要绘制一个网格。网格的每个部分可以具有不同的颜色/样式。此样式对应于文件中指定的值。我认为boxxyerrorbars
风格可能是相关的。我创建了一个包含7列的文件:
#x y xlow xhi ylow yhi style
1 1 0.9 1.1 0.5 1.5 0.2
2 1 1.9 2.1 0.5 1.5 0.4
3 1 2.9 3.1 0.5 1.5 0.6
我使用boxxyerrorbars
样式和数据中的前6列创建绘图:
plot[0:4][0:2] 'aa1.dat' w boxxy fs solid 0.6 nobo
情节(网格的三个部分)看起来像......(没有足够的声誉来提交图像)。
所有细分都使用样式solid 0.6
绘制。通过更改此数字,可以更改fill style
密度。但我需要每个段都有自己的样式,例如,在数据的第7列中指定。也许,还有其他方法。我只需要使用从文件指定的样式/颜色绘制的段(不是手动插入到脚本中)。
答案 0 :(得分:1)
将调色板选项添加到地块
palette
选项将根据数据文件最后一列的值自动分配当前调色板的颜色值(在这种情况下,它是第7列,在普通函数图中,它将是3)。
plot ... palette
根据需要调整调色板
在绘图之前,您应该将gnuplot调色板设置为您喜欢的颜色。
为此,请使用set palette
和set cbrange
。
示例强>
set palette model RGB defined ( 0 "white", 1 "red")
set cbrange[0:1]
unset colorbox
plot[0:4][0:2] 'data.txt' w boxxy fs solid palette
<强>解释强>
set cbrange[0:1]
定义调色板的范围,即0将是纯白色,1将是红色(如果您没有设置自己的cbrange,gnuplot将从数据中获取最小/最大值)unset colorbox
告诉gnuplot不要在情节旁边绘制颜色框标签进一步调整
您还可以调整色板以使其具有离散色值(即不仅仅是渐变色)。
E.g。 设置调色板模型RGB定义(0“蓝色”,1“蓝色”,1“深绿色”,2“深绿色”,2“红色”,3“红色”) 设置cbrange [1:3]
将文件样式列中的值设置为1,2或3会分别给出蓝色,绿色或红色。
#x y xlow xhi ylow yhi style
1 1 0.9 1.1 0.5 1.5 1
2 1 1.9 2.1 0.5 1.5 2
3 1 2.9 3.1 0.5 1.5 3