Python使用matplotlib实现绘制自定义图形功能示例


Posted in Python onJanuary 18, 2018

本文实例讲述了Python使用matplotlib实现绘制自定义图形功能。分享给大家供大家参考,具体如下:

一 代码

from matplotlib.path importPath
from matplotlib.patches importPathPatch
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
#定义绘图指令与控制点坐标
#其中MOVETO表示将绘制起点移动到指定坐标
#CURVE4表示使用4个控制点绘制3次贝塞尔曲线
#CURVE3表示使用3个控制点绘制2次贝塞尔曲线
#LINETO表示从当前位置绘制直线到指定位置
#CLOSEPOLY表示从当前位置绘制直线到指定位置,并闭合多边形
path_data =[
(Path.MOVETO,(1.58,-2.57)),
(Path.CURVE4,(0.35,-1.1)),
(Path.CURVE4,(-1.75,2.0)),
(Path.CURVE4,(0.375,2.0)),
(Path.LINETO,(0.85,1.15)),
(Path.CURVE4,(2.2,3.2)),
(Path.CURVE4,(3,0.05)),
(Path.CURVE4,(2.0,-0.5)),
(Path.CURVE3,(3.5,-1.8)),
(Path.CURVE3,(2,-2)),
(Path.CLOSEPOLY,(1.58,-2.57)),
]
codes, verts = zip(*path_data)
path =Path(verts, codes)
#按指令和坐标进行绘图
patch =PathPatch(path, facecolor='r', alpha=0.9)
ax.add_patch(patch)
# 绘制控制多边形和连接点
x, y = zip(*path.vertices)
line,= ax.plot(x, y,'go-')
#显示网格
ax.grid()
#设置坐标轴刻度大小一致,可以更真实地显示图形
ax.axis('equal')
plt.show()

二 运行结果

Python使用matplotlib实现绘制自定义图形功能示例

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
python2与python3共存问题的解决方法
Sep 18 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
python判断计算机是否有网络连接的实例
Dec 15 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python模块zipfile原理及使用方法详解
Aug 04 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
Jan 25 Python
Python selenium的这三种等待方式一定要会!
Jun 10 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 #Python
python将字典内容存入mysql实例代码
Jan 18 #Python
python测试mysql写入性能完整实例
Jan 18 #Python
浅谈flask截获所有访问及before/after_request修饰器
Jan 18 #Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 #Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 #Python
Python机器学习logistic回归代码解析
Jan 17 #Python
You might like
WordPress判断用户是否登录的代码
2011/03/17 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
web前端开发也需要日志
2010/12/09 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
python使用thrift教程的方法示例
2019/03/21 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
python的移位操作实现详解
2019/08/21 Python
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
大学生就业自我鉴定
2013/10/26 职场文书
淘宝店策划方案
2014/06/07 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
办公室主任岗位职责
2015/01/31 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL