代码之家  ›  专栏  ›  技术社区  ›  Alvaro sepulveda

如何在平面zx和z以及gnuplot中绘制垂直线

  •  2
  • Alvaro sepulveda  · 技术社区  · 7 年前

    我需要一些帮助。 我在gnuplot中一起制作了三个曲面,但我需要在曲面的背面放置Z轴的垂直和水平网格。我只能生成水平线,我想添加垂直线,在我的代码中提供一些建议

    非常感谢你。

    set key outside
    set rmargin at screen 0.6
    set lmargin at screen 0.18
    set title 'Gnuplot surfaces'
    set key 
    set pm3d depthorder hidden3d 1
    set hidden3d offset 0
    set xlabel "X"
    set xrange [ -4.0000 : 4.0000 ] noreverse nowriteback
    set mxtics 4
    set ylabel 'Y'
    set yrange [ -4.0000 : 4.0000 ] noreverse nowriteback
    set mytics 4
    set zlabel "Z" 
    set zrange [-1.000: 1.000] noreverse nowriteback
    set mztics 4
    set surface
    set isosamples 25
    unset colorbox
    set ticslevel 0
    set grid ztics xtics ytics lt 2 lc rgb "black"
    set border 4095
    set view 43, 32
    a(x,y)= sin(sqrt(x**2+y**2)) / sqrt(x**2+y**2)
    b(x,y)= x**3*y**2
    c(x,y)= sin(x) * cos(y)
    splot a(x,y) lc rgb 'gray' linewidth 2, b(x,y) lc rgb 'red' linewidth 0.5, c(x,y) lc rgb 'blue' linewidth 1
    

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  0
  •   Dan Sp.    7 年前

    首先,为所有网格线添加一个数据块(gnuplot 5.0或更高版本)作为向量:

    $data << EOD
    -4 -3 -1 0 0 2
    -4 -2 -1 0 0 2
    -4 -1 -1 0 0 2
    -4  0 -1 0 0 2
    -4  1 -1 0 0 2
    -4  2 -1 0 0 2
    -4  3 -1 0 0 2
    -3  4 -1 0 0 2
    -2  4 -1 0 0 2
    -1  4 -1 0 0 2
     0  4 -1 0 0 2
     1  4 -1 0 0 2
     2  4 -1 0 0 2
     3  4 -1 0 0 2
    EOD
    

    现在,只需创建一个没有头的黑色箭头样式,并将此“文件”添加到带有向量且没有标题的绘图中。

    set style arrow 1 nohead lc 'black'
    replot "$data" with vectors arrowstyle 1 title ""
    

    如果没有gnuplot 5.0或更高版本,请将数据块放入文件中,然后只打印文件。