1

我需要绘制一个网格。网格的每个部分都可以有不同的颜色/样式。此样式对应于文件中指定的值。我认为这种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 

情节(只是网格的三个部分)看起来像......(没有足够的声誉来提交图像)。

所有线段均使用 style 绘制solid 0.6。通过改变这个数字,可以改变fill style密度。但我需要每个段都有自己的样式,例如,在数据的第 7 列中指定。也许,还有其他方法。我只需要使用从文件中指定的样式/颜色绘制段(不是手动插入到脚本中)。

4

1 回答 1

1

将调色板选项添加到您的绘图中

palette选项将根据数据文件最后一列的值自动分配当前调色板中的颜色值(在这种情况下,它是第 7 列,在普通函数图中,它将是第 3 列)。

plot ... palette

根据您的需要调整调色板

在绘图之前,您应该将 gnuplot 调色板设置为您喜欢的颜色。使用set paletteset 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 不要在绘图旁边绘制颜色框标签

进一步调整

您还可以调整调色板以具有离散的颜色值(即不仅是渐变)。

例如设置调色板模型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

使用替代调色板绘图

于 2013-05-13T12:03:12.487 回答