如何使用图像 - gnuplot在2D绘图上绘制蒙版(图案填充)

时间:2018-01-19 23:49:41

标签: 2d gnuplot

我有一个包含样式数据的文本文件:

0 0 123
0 1 1345
. . .
x(int) y(int) intensity(double)
. . .
0 max size y 1345
1 0 564
. . .
max size x max size y intensity last point

这个数据代表了一个物质在其上扩散的2D地图,只需使用1:2:3 w图像命令就可以用颜色绘制:

plot data.dat u ($1):($2):3 w image

我现在的问题是:我也知道我的2D平面的边界条件,这不是2D平面的每个方格都可用于物质漫反射,虽然我知道在这些区域强度将为0,我我想用图案填充绘制这些区域。为了解这些区域,我有另一个文件:

0 0 1
0 1 0
. . .
x(int) y(int) value
. . .
0 max size y 0
1 0 0
. . .
max size x max size y value last point

如果值是可访问区域,则值为0;如果不是,则值为1。你会怎么画这部分的?

1 个答案:

答案 0 :(得分:3)

这不是一个非常“有效”的解决方案,但是为了用模式填充蒙版,可以处理相应的文件并在标记为“可访问”的每个坐标处放置一个矩形。

下面的脚本首先通过 def get_product_price_minimum Product.minimum(:price).to_i end def get_product_price_maximum Product.maximum(:price).to_i end 命令确定掩码文件中的记录数,在循环中处理此文件,并在每次迭代extracts中处理相应的行。如果第三列中的值(保存到变量stats中)等于1,则会在相应位置生成一个基本矩形。

z

使用随机数据(在20x20网格上生成),这会产生: enter image description here