1.3 延伸阅读
我们不仅可以填充由若干条曲线围成的公共区域的颜色,还可以按照一定的条件表达式来选择性地填充公共区域的颜色。因此,我们需要借助实例方法fill_between()和fill_betweenx()的参数where来实现满足具体条件的指定区域的颜色填充的目标。接下来,我们就通过具体的代码和精讲来详细地阐述其实现方法。
1.3.1 水平方向的交叉曲线的颜色填充方法
我们主要借助实例方法fill_between()来实现水平方向的交叉曲线的颜色填充的目标。下面,我们就详细讲解实例方法fill_between()的使用方法。
1.代码实现
2.运行结果(见图1-4)
图1-4
3.代码精讲
(1)调用实例方法fill_between(),通过使用参数where的条件表达式参数值,实现满足具体条件的指定区域的颜色填充的目标。
(2)具体而言,如果曲线 y1 的取值不小于曲线 y2 的取值,那么将这部分公共区域的颜色用“darkred”填充;如果曲线 y2 的取值不小于曲线 y1 的取值,那么将这部分公共区域的填充颜色设置为“cornflowerblue”。同时,借助参数 interpolate 的取值是“True”,可以将曲线交叉点附近的公共区域用指定颜色进行填充。使用参数alpha进行填充区域的透明度的设置。
(3)调用实例方法plot()绘制填充区域的轮廓曲线,从而清晰地标记出不同填充区域的颜色内容。
1.3.2 垂直方向的交叉曲线的颜色填充方法
我们主要借助实例方法fill_betweenx()来实现垂直方向的交叉曲线的颜色填充的目标。下面,我们就详细介绍实例方法fill_betweenx()的操作细节。
1.代码实现
2.运行结果(见图1-5)
图1-5
3.代码精讲
(1)使用实例方法 fill_betweenx()绘制垂直方向的交叉曲线的颜色填充区域。同样,借助参数where 实现满足具体条件的指定区域的颜色填充的目标。以“ax.fill_betweenx(y,x1,x2,where=x2>=x1,facecolor="cornflowerblue",alpha=0.7)”语句为例,参数y表示y轴上的数值,参数x1和x2表示x轴上的数值,通过使用条件表达式“x2>=x1”实现满足具体条件的指定区域的颜色填充的目标,填充颜色设定为“cornflowerblue”,使用参数alpha设定填充区域的透明度。
(2)实例方法plot()的参数也进行x轴和y轴的数值位置的调整,即原来y轴上的数值现在放在x轴上,原来x轴上的数值现在放在y轴上,调用语句分别是“ax.plot(x1,y,color="k",lw=1,ls="-")”和“ax.plot(x2,y,color="k",lw=1,ls="-")”。