我有两个需要绘制的数据文件,第一个数据文件“surface.dat”是一个包含x y z数据的Nx3矩阵。
使用pm3d进行绘图并设置视图以获取当前曲面的2D投影贴图,其中z数据定义了颜色条的范围。
第二个数据文件“closed_curve.dat”位于x-y平面上,没有z分量。使用
可以很容易地在同一图表中绘制曲面和曲线set view map
set cbrange...
set xrange...
set yrange...
splot "surface.dat" u 2:1:3 title "" w pm3d ,"closed_curve.dat" u 1:2:(0) title ""
然而,由于它是一条封闭的曲线,我想用其中一个gnuplot模式填充它,但我找不到任何有用的东西。
例如,矩形形式的闭合曲线可以创建为对象而无需数据文件并填写,因此不会出现问题,例如
set object 1 rectangle from 0,0 to 0.4,0.8 front fc lt 1 fs pattern 2 lw 2
提前致谢....
答案 0 :(得分:0)
我认为您最好的选择是使用外部工具根据您的数据文件创建多边形对象:
set macros
polystr = system('awk -v "ORS= " "{printf \"%s %f,%f \",s,\$1,\$2; s = \"to\"}" closed_curve.dat')
set object 1 polygon fillstyle pattern 5 from @polystr
splot "surface.dat" using 2:1:3 with pm3d
我不确定您使用polystr
获得的允许行长度是否有任何限制。也许您需要将命令写入临时文件和load
这个。