繁体   English   中英

gnuplot中具有矢量轮廓的矢量场3D图(底部)

[英]Vector field 3D plot in gnuplot with contour of vectors (bottom)

我想使用在底部也描绘了矢量箭头的矢量场图,就像在表面轮廓图中使用“在b处设置pm3d”一样。

我的文件以以下格式给出:

x  y  y  dx dy dz
1  0  2  4  3  1 
2  3  4  2  6  3
2  4  6  1  9  2
.  .  .  .  .  .

我已经使用了这个gnuplot脚本:

set style arrow 1 
set xrange[0.7:0.0]
set yrange[-0.4:0.4]
set zrange[-0.4:1.0]
set xtics (-0.7,-0.5,-0.33,-0.15,0.0,0.15,0.33,0.5,0.7) font "Times-Roman,18"
set ytics (-0.7,-0.5,-0.33,-0.15,0.0,0.15,0.33,0.5,0.7) font "Times-Roman,18"
unset ztics
set palette rgbformulae 30,31,32
set ticslevel 0
unset key
scale = 0.4
splot 'file.dat' u 1:2:3:($4*scale):($5*scale):($6*scale) w vectors arrowstyle 1

我还附加了两个具有不同视图的3d矢量场图。 我真正想要的是两者的组合,以便绘制的矢量的轮廓应显示在底部(就像使用“设置视图0,180”的顶视图一样,该视图由合并到(侧面)的第二个图像(顶视图)表示。视图)情节。

Vector_field_3d_plot_side_view

Vector_field_3d_plot_top_view

由于我还没有看到任何有关gnuplot的示例,因此即使它能够做到,我也不确定。 如果没有,您会推荐我使用哪种软件(Matlab,matplotlib等)?

提前致谢!

我非常感谢您的帮助!

最好的祝愿,

DAVES

既然知道zrange,就可以自己进行投影并将z设置为z轴的最小值,并将dz设置为零:

set style arrow 1 
set xrange[0.7:0.0]
set yrange[-0.4:0.4]
set zrange[-0.4:1.0]
set xtics (-0.7,-0.5,-0.33,-0.15,0.0,0.15,0.33,0.5,0.7) font "Times-Roman,18"
set ytics (-0.7,-0.5,-0.33,-0.15,0.0,0.15,0.33,0.5,0.7) font "Times-Roman,18"
unset ztics
set palette rgbformulae 30,31,32
set ticslevel 0
unset key
scale = 0.4
splot 'file.dat' u 1:2:3:($4*scale):($5*scale):($6*scale) w vectors arrowstyle 1,\
    '' u 1:2:(-0.4):($4*scale):($5*scale):(0) w vectors as 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM