2015-05-29 57 views
3

关于等高线图的另一个问题。我正在使用GNUPLOT 4.6:自定义轮廓线

G N U P L O T 
    Version 4.6 patchlevel 6 last modified September 2014 
    Build System: Linux x86_64 

我试图绘制一张彩色地图和一个等高线地图。我的终端是

set terminal pngcairo enhanced size 1440,900 crop font "Palatino,27" 

,我想绘制该

set contour surface 
    set cntrparam level discrete 0.3,0.067 
    set style line 2 lt 1 lc rgb "black" lw 3 
    set style line 3 lt 3 lc rgb "black" lw 1 
    set style increment user 
    splot 'file1' binary w pm3d nocontour,\ 
      'file2' binary w l nosurface 

使轮廓设置绘制2个等值线,无论是黑色的,一条虚线,一个坚实的,一粗,一瘦。它绘制了两条厚度相等的实心红线。

我尝试了很多在Google上找到的解决方案。

1)我用“set linetype ...”替换“set style line ...”并删除“set style increment user”一行。线变成黑色,实心,等厚。我可以改变颜色。

2)我试图添加“set termoption dashed”一行。没有什么,破灭从未见过。

我在哪里错了?

非常感谢。

+0

您必须使用“设置线型”,“设置termopt破灭”,并使用线型与期望冲着模板。 – Karl

+0

@KarlRatzsch但是这对绘制轮廓不起作用。 – Christoph

+0

@KarlRatzsch,这正是我尝试和告诉子弹2)。这是行不通的。 – marco

回答

1

的确,目前您不能对任何轮廓使用任意线型或样式。改变颜色工作,也设置一个短划线类型(然后使用第一个轮廓样式之一),但不能混合虚线和实线并改变线宽。

在这种情况下,你必须写轮廓到一个文件,你在你的第一个问题:)

不同轮廓的水平可以在以后用index关键字来访问一样。但请注意,在第一个数据集,你将有完整的表面轮廓在index 1开始:

set termoption dashed 
set contour surface 
set cntrparam level discrete 0.3,0.067 
set style line 2 lt 1 lc rgb "black" lw 3 
set style line 3 lt 3 lc rgb "black" lw 1 

set table 'temp.dat' 
splot 'file2' binary 
unset table 
unset contour 

splot 'file1' binary w pm3d nocontour,\ 
     for [i=1:2] 'temp.dat' index i with lines ls (i+1) 
+1

如果您更改线型而不是样式,则它可以正常工作。等高线的问题在于冲刺破裂,请参阅http://sourceforge.net/p/gnuplot/bugs/1612/ – Karl

+0

@KarlRatzsch您不能对不同的轮廓线使用不同的短划线或线宽 – Christoph

+0

您说得对, “termopt虚线”给出了虚线轮廓(gp46),但确实无法改变。如果没有明确设置,线宽(也就是v50中的速度)取自线型1。 – Karl