我必须使用gnuplot绘制三个隐式函数,我使用它:
set contour
set cntrparam levels discrete 0
set view map
unset surface
set isosamples 1000,1000
set xrange [-5:7]
set yrange [-15:15]
set xlabel "x"
set ylabel "y"
splot y**2-x**3+15*x-13 t "t1", y**2-x**3+15*x-sqrt(4.*15.**3/27.) t "singular", y**2-x**3+15*x-30 t "t2", y**2-x**3+15*x-13 t "t3"
输出是这样的:
程序正在编写图例中曲面的0级,但我只想将title
参数传递给splot命令。由于三个表面在不同高度实际上是相同的,我可以更改set cntrparam...
线来绘制其中的三个,但我想要做的是删除数字并使其只写文本。我怎么能这样做?
答案 0 :(得分:2)
您无法使用任何文本直接操作轮廓级别标签。只需使用set table...
将轮廓数据写入临时文件,然后照常绘制此数据文件。现在,您可以使用index
来区分不同的轮廓级别:
set contour
set cntrparam levels discrete 0
set view map
unset surface
set isosamples 1000,1000
set xrange \[-5:7\]
set yrange \[-15:15\]
set xlabel "x"
set ylabel "y"
set table 'contour.dat'
splot y**2-x**3+15*x-13 t "t1", y**2-x**3+15*x-sqrt(4.*15.**3/27.) t "singular", y**2-x**3+15*x-30 t "t2", y**2-x**3+15*x-13 t "t3"
unset table
set style data lines
plot 'contour.dat' index 0 title 't1', '' index 1 title 'singular', '' index 2 title 't2', '' index 3 title 't3'