1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python matplotlib 中填充颜色

Python matplotlib 中填充颜色

时间:2019-12-25 07:25:57

相关推荐

Python matplotlib 中填充颜色

Python matplotlib 中填充颜色

matplotlib中填充颜色主要是两个函数,一个是fill,一个是fill_between,这里讲一下详细的关键字,

这里关键字主要有facecolor填充色, where填充条件, alpha透明度,interpolate求交叉边界

import matplotlib.pyplot as pltimport numpy as npx = np.arange(0.0, 4, 0.05)y1 = np.sin(np.pi * x)y2 = np.sin(2 * np.pi * x)fig, axe = plt.subplots(1, 1, figsize=(10,8))# axe.plot(x,y1, color ='C1')# axe.plot(x,y2, color='C2')axe.plot(x,y1,x,y2, color='black')

如果想加入填充,那么,可以使用fill函数:

‘’’

axe.fill(x, y1, alpha=0.5, label='y1')axe.fill(x, y2, alpha=0.5, label='y2')

不过这样会发现,就是在填充区域会出现一些白色的没填充的区域,这是由于我们在设置x的时候其分段不是足够小,

因此,截断的位置并不是正好两曲线相交的位置;

可以通过改更小的x间距;可以发现x间距改小,图像结果就有所改善。

接下来用fillbetweeen, 关键字

facecolor是填充色,

where是设定填充条件,满足条件时候则实现填充该颜色

也可以加入参数interpolate=True,自动求交点边界并填充

加上透明度alpha

“”"

axe.fill_between(x,y1,y2,facecolor='b', where=y1>y2, alpha=0.5, interpolate=True)axe.fill_between(x,y1,y2,facecolor='r', where=y1<y2, alpha=0.5, interpolate=True)plt.show()

另外,有个小技巧,fill函数默认是填充到x=0坐标轴,没有where与interpolate这些参数的,但是不妨碍我们,可以手动嘛!自己造一个x轴:

axe.plot(x,y1, color ='r',linestyle='--')axe.plot(x,y2, color='b',linestyle='--')y3 = [0 for i in range(len(x))]axe.plot(x,y3, linewidth=1,color='black')axe.fill_between(x, y1, y3, facecolor='r', where=y1 > 0, alpha=0.5, interpolate=True)axe.fill_between(x, y2, y3, facecolor='b', where=y2 < 0, alpha=0.5, interpolate=True)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。