我在生成一个在负值和正值之间振荡的数据集(线条为sin或cos)时遇到了一些困难。我的目标是用交替的颜色填充曲线下面积:负区域为蓝色,正区域为红色。更确切地说,我想填充曲线和x轴之间的区域。到目前为止,我设法用交替的颜色绘制曲线(蓝色表示负数,红色表示正数),使用:
set palette model RGB defined ( 0 'red', 1 'blue' )
unset colorbox
plot 'data.set' u 1:2:( $2 < 0.0 ? 1 : 0 ) w lines lt 1 lw 4 palette
不幸的是,如果我将w lines
替换为filledcurves
,我就不会获得替代填充。如何实现这一目标?
干杯
答案 0 :(得分:3)
如果我正确理解了这个问题,你可以试试这个:
plot '+' using 1:(0):(sin($1)) w filledc below, \
'+' using 1:(0):(sin($1)) w filledc above
告诉gnuplot
使用上方和下方位置填充两条曲线(sin(x)
和0
)之间的区域。还有另一种解决方案:
plot '+' using 1:(sin($1) > 0 ? sin($1):0) w filledcurves y1, \
'+' using 1:(sin($1) < 0 ? sin($1):0) w filledcurves y2
,结果将是: