我遇到了gnuplot填充曲线的问题。我使用以下代码计算了一些数据来绘制图片:
plot 'cont.dat' u 1:2 w filledcurves closed lc rgb "#ADFF2F" title "DF"
'cont2.dat' u 1:2 w filledcurve lc rgb "#CD5C5C" title "DA",\
'cont3.dat' u 1:2 w filledcurve lc rgb "#4682B4" title "(DF+DA)/2",\
'cont3.dat' u 1:2 w l lw 3 lc rgb "#4682B4" notitle ,\
'cont.dat' u 1:2 w l lw 3 lc rgb "#ADFF2F" notitle,\
'cont2.dat' u 1:2 w l lw 3 lc rgb "#CD5C5C" notitle
这些数据一切都很好:
但是当我计算另一个案例时。尝试使用相同的代码绘制我收到以下错误的结果:
如何更改代码以完全填充区域?我不需要这个透明的“洞”。
UPD:在这里您可以找到错误绘制的绿色区域数据: https://www.dropbox.com/s/xzheur2mx9h902f/cont.dat?dl=0 无论你是绘制三条曲线还是一条曲线,每条曲线的结果都是相同的。
我使用GNUplot 4.6 for Windows
答案 0 :(得分:1)
正如评论中所提到的,数据中的一个问题是它被分成块。但解决这个问题是不够的。让我们关注下图:
顶部的数字对应于原始数据。我用不同的颜色绘制了每个数据块。如果我们删除空格,则会获得中/蓝图,因此问题尚未解决。
如果查看数据,每个数据块的第一列按箭头方向排序(上图),但数据块按相反方向排序:它们已断开连接!
因此,数据块应按
这是我用来绘制图片的代码的一部分:
plot for [i=0:4] 'cont_original.dat' u 1:2 every :::i::i w filledc t 'original block '.i,\
'cont_nospaces.dat' u 1:($2-0.2) w filledc t 'original without spaces',\
'cont_ordered.dat' u 1:($2-0.4) w filledc t 'ordered'