从gnuplot的传奇中删除东西

时间:2015-05-03 22:23:32

标签: 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"

输出是这样的: enter image description here

程序正在编写图例中曲面的0级,但我只想将title参数传递给splot命令。由于三个表面在不同高度实际上是相同的,我可以更改set cntrparam...线来绘制其中的三个,但我想要做的是删除数字并使其只写文本。我怎么能这样做?

1 个答案:

答案 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'

Result image