Python实现区域填充的示例代码


Posted in Python onFebruary 03, 2021

所用的库及环境:

IDE:Pycharm

Python环境:python3.7

Matplotlib: Matplotlib 1.11

Numpy: Numpy1.15.

区域填充

前言

如何填充一块区域,就是给一块区域上色

代码及效果图

Python实现区域填充的示例代码

fill()函数介绍

文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.fill.html

介绍:绘制填充多边形

属性:

  • args:是一个x,y的序列,每个多边形由其节点x和y的位置列表定义
  • color :填充的颜色
  • alpha:透明度

只填充两个图形重合区域

代码及效果图

Python实现区域填充的示例代码

Python实现区域填充的示例代码

fill_between()函数介绍

  • x:一个序列,定义曲线的节点的x坐标
  • y1:可以是一个序列,定义第一条曲线的y坐标
  • y2:可以是一个序列,定义第二条曲线的y坐标
  • where:一个可选参数,布尔值,y1>y2表示y1线在上时填充,y1<y2表示y2线在上时填充
  • interpolate :看图中会发现有些填充的地方会有空白,此参数为Tur会自动填充
  • facecolor:要填充的颜色

加入interpolate参数效果:

Python实现区域填充的示例代码

Python实现区域填充的示例代码

示例

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实现区域填充的示例代码

参考视频:《Python数据可视化分析 matplotlib教程》

结语:

感谢matplotlib提供的文档,感谢麦子学院提供的视频教学

到此这篇关于Python实现区域填充的示例代码的文章就介绍到这了,更多相关Python 区域填充内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python双向链表实现实例代码
Nov 21 Python
Python进行数据科学工作的简单入门教程
Apr 01 Python
Django实现的自定义访问日志模块示例
Jun 23 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
python2.7 json 转换日期的处理的示例
Mar 07 Python
python数据结构之线性表的顺序存储结构
Sep 28 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
解决python3 pika之连接断开的问题
Dec 18 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
python代码能做成软件吗
Jul 24 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
matplotlib事件处理基础(事件绑定、事件属性)
Feb 03 #Python
matplotlib相关系统目录获取方式小结
Feb 03 #Python
详解matplotlib绘图样式(style)初探
Feb 03 #Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 #Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 #Python
matplotlib更改窗口图标的方法示例
Feb 03 #Python
python中添加模块导入路径的方法
Feb 03 #Python
You might like
我的论坛源代码(七)
2006/10/09 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
论文评语大全
2014/04/29 职场文书
干部鉴定材料
2014/05/18 职场文书
校庆标语集锦
2014/06/25 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
公司表扬稿范文
2015/05/05 职场文书
英语导游欢迎词
2015/09/30 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
python中24小时制转换为12小时制的方法
2021/06/18 Python
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers