【问题标题】:Vector field 3D plot in gnuplot with contour of vectors (bottom)带有向量轮廓的 gnuplot 中的向量场 3D 图(底部)
【发布时间】:2017-05-23 11:17:25
【问题描述】:

我想做一个矢量场图,底部也描绘了矢量箭头,就像在使用“set pm3d at b”的表面等高线图中一样。

我的文件格式如下:

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 矢量场图。我真正想要的是两者的组合,以便绘制矢量的轮廓应该出现在底部(就像使用“set view 0,180”的顶视图一样,它由合并到(侧面)中的第二个图像(顶视图)表示查看)情节。

Vector_field_3d_plot_side_view

Vector_field_3d_plot_top_view

由于我还没有看到任何关于这样一个情节的 gnuplot 示例,我不确定它是否能够做到这一点。如果没有,您会推荐我使用哪个软件(Matlab、matplotlib、...)?

提前致谢!

非常感谢任何帮助!

祝你好运,

戴夫斯

【问题讨论】:

    标签: vector plot gnuplot


    【解决方案1】:

    由于您知道 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多