闭合线的 Gnuplot 填充曲线无法正常工作
Gnuplot filledcurves for closed lines doesn't work properly
我对 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
这个数据一切正常:
但是当我计算出另一种情况。尝试使用相同的代码绘制我收到以下错误结果:
如何更改我的代码以完全填充这些区域?我不需要这个透明 'holes'.
更新:在这里你可以找到被绘制错误的绿色区域数据:
https://www.dropbox.com/s/xzheur2mx9h902f/cont.dat?dl=0
绘制三条曲线或仅绘制一条曲线都没有关系,每条曲线的结果都是相同的。
我使用 GNUplot 4.6 Windows
如评论中所述,您的数据中一个 问题是它被分成块。但解决这个问题还不够。让我们重点看下图:
上面的数字对应于您的原始数据。我用不同的颜色绘制了每个数据块。如果去掉空格,得到的是middle/blue的数字,所以问题还没有解决。
如果查看数据,每个数据块的第一列按箭头方向排序(上图),但数据块按相反方向排序:他们已断开连接!
因此,数据块应排序为 0-4-3-2-1(或任何循环顺序,例如 3-2-1-0- 4).空格也应该被删除。执行此操作后,将获得 bottom/red 数字。
这是我用来画图的部分代码:
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:(-0.2) w filledc t 'original without spaces',\
'cont_ordered.dat' u 1:(-0.4) w filledc t 'ordered'
我对 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
这个数据一切正常:
但是当我计算出另一种情况。尝试使用相同的代码绘制我收到以下错误结果:
如何更改我的代码以完全填充这些区域?我不需要这个透明 'holes'.
更新:在这里你可以找到被绘制错误的绿色区域数据: https://www.dropbox.com/s/xzheur2mx9h902f/cont.dat?dl=0 绘制三条曲线或仅绘制一条曲线都没有关系,每条曲线的结果都是相同的。
我使用 GNUplot 4.6 Windows
如评论中所述,您的数据中一个 问题是它被分成块。但解决这个问题还不够。让我们重点看下图:
上面的数字对应于您的原始数据。我用不同的颜色绘制了每个数据块。如果去掉空格,得到的是middle/blue的数字,所以问题还没有解决。
如果查看数据,每个数据块的第一列按箭头方向排序(上图),但数据块按相反方向排序:他们已断开连接!
因此,数据块应排序为 0-4-3-2-1(或任何循环顺序,例如 3-2-1-0- 4).空格也应该被删除。执行此操作后,将获得 bottom/red 数字。
这是我用来画图的部分代码:
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:(-0.2) w filledc t 'original without spaces',\
'cont_ordered.dat' u 1:(-0.4) w filledc t 'ordered'