所用的库及环境:
IDE:Pycharm
Python环境:python3.7
Matplotlib: Matplotlib 1.11
Numpy: Numpy1.15.
区域填充
前言
如何填充一块区域,就是给一块区域上色
代码及效果图
fill()函数介绍
文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.fill.html
介绍:绘制填充多边形
属性:
args:是一个x,y的序列,每个多边形由其节点x和y的位置列表定义 color :填充的颜色 alpha:透明度
只填充两个图形重合区域
代码及效果图
fill_between()函数介绍
x:一个序列,定义曲线的节点的x坐标 y1:可以是一个序列,定义第一条曲线的y坐标 y2:可以是一个序列,定义第二条曲线的y坐标 where:一个可选参数,布尔值,y1>y2表示y1线在上时填充,y1<y2表示y2线在上时填充 interpolate :看图中会发现有些填充的地方会有空白,此参数为Tur会自动填充 facecolor:要填充的颜色
加入interpolate参数效果:
示例
import matplotlib.pyplot as plt import numpy as np x= np.linspace(0,5*np.pi, 1000) y1 = np.sin(x) y2 = np.sin(2*x) #plt.plot(x,y1) #plt.plot(x,y2) plt.fill(x,y1,'b',alpha=0.5) plt.fill(x,y2,'r',alpha=0.3) plt.fill_between(x,y1,y2,facecolor='green') plt.grid(True) plt.show() ######################################################### plt.plot(x,y1,'b',alpha=0.5) plt.plot(x,y2,'r',alpha=0.3) #添加条件 #如果数据点比较少的情况下,会有缝隙出现,使用interpolate可以填充缝隙 plt.fill_between(x,y1,y2,where=y1>=y2,facecolor='green',interpolate=True) plt.fill_between(x,y1,y2,where=y2>y1,facecolor='yellow',interpolate=True) plt.grid(True) plt.show() ########################################################### n = 256 X = np.linspace(-np.pi, np.pi, n, endpoint=True) Y = np.sin(2 * X) plt.plot(X, Y + 1, color='blue', alpha=1.00) plt.fill_between(X, 1, Y + 1, color='blue', alpha=.25) plt.plot(X, Y - 1, color='blue', alpha=1.00) plt.fill_between(X, -1, Y - 1, (Y - 1) > -1, color='blue', alpha=.25) plt.fill_between(X, -1, Y - 1, (Y - 1) < -1, color='red', alpha=.25) plt.xlim(-np.pi, np.pi) plt.xticks(()) plt.ylim(-2.5, 2.5) plt.yticks(())
效果图:
参考视频:《Python数据可视化分析 matplotlib教程》
结语:
感谢matplotlib提供的文档,感谢麦子学院提供的视频教学
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)