从gnuplot的传奇中删除东西

MyU*_*his 5 gnuplot

我必须使用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"
Run Code Online (Sandbox Code Playgroud)

输出是这样的: 在此输入图像描述

程序在图例中写入表面水平的0,但我只想将title参数传递给splot命令.由于三个表面在不同的高度实际上是相同的,我可以改变set cntrparam...线来绘制它们中的三个,但我想要做的是删除数字并使其只写文本.我怎样才能做到这一点?

Chr*_*oph 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'
Run Code Online (Sandbox Code Playgroud)

结果图像