gnuplot 在等高线图的顶部添加矢量场
gnuplot adding vector fields on top on contour plot
我想补充一点,即在等高线图的顶部重新绘制矢量图,如下图所示。但是,当我使用以下代码时,我无法看到矢量,当我使用以下代码进行绘图时,我如何无法获得矢量 $data 0,0,2,2
。
set terminal wxt size 800,600 enhanced font 'Verdana,10' persist
set view map
set style fill transparent solid 0.50 noborder
unset surf
set contour base
set cntrparam levels disc 450,250,150,100,60,30,10,2
set yrange [0:6]
set xrange [0:6]
set isosample 40
set style arrow 5 head noborder size screen 0.03,15,135 ls 1 lw 5
splot [x=0:5] [y=0:5] (x**2+y-11)**2+(x+y**2-7)**2 lc 4
$data << EOD
0 0 2 2
EOD
replot $data using 1:2:3:4 w vector
您使用 splot
(3D) 而不是 plot
(2D),因此您需要 3D 数据而不是矢量的 2D 数据。尝试用这个替换 replot
命令:
replot $data using 1:2:(0):3:4:(0) w vector lc -1
结果:
添加两列到 $data
并用 ... using 1:2:3:4:5:6 ...
绘制也应该可行,我还没有尝试过。
(gnuplot 5.0)
我想补充一点,即在等高线图的顶部重新绘制矢量图,如下图所示。但是,当我使用以下代码时,我无法看到矢量,当我使用以下代码进行绘图时,我如何无法获得矢量 $data 0,0,2,2
。
set terminal wxt size 800,600 enhanced font 'Verdana,10' persist
set view map
set style fill transparent solid 0.50 noborder
unset surf
set contour base
set cntrparam levels disc 450,250,150,100,60,30,10,2
set yrange [0:6]
set xrange [0:6]
set isosample 40
set style arrow 5 head noborder size screen 0.03,15,135 ls 1 lw 5
splot [x=0:5] [y=0:5] (x**2+y-11)**2+(x+y**2-7)**2 lc 4
$data << EOD
0 0 2 2
EOD
replot $data using 1:2:3:4 w vector
您使用 splot
(3D) 而不是 plot
(2D),因此您需要 3D 数据而不是矢量的 2D 数据。尝试用这个替换 replot
命令:
replot $data using 1:2:(0):3:4:(0) w vector lc -1
结果:
添加两列到 $data
并用 ... using 1:2:3:4:5:6 ...
绘制也应该可行,我还没有尝试过。
(gnuplot 5.0)