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条件和循环的使用方法
Nov 01 Python
python实现堆栈与队列的方法
Jan 15 Python
Python中非常实用的一些功能和函数分享
Feb 14 Python
Python实现基本线性数据结构
Aug 22 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
浅谈Python traceback的优雅处理
Aug 31 Python
python实现学员管理系统
Feb 26 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
python向图片里添加文字
Nov 26 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
基于python3实现倒叙字符串
Feb 18 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 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
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
一个选择最快的服务器转向代码
2009/04/27 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
js电话号码验证方法
2015/09/28 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
简单实现python进度条脚本
2017/12/18 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
食堂员工工作职责
2013/12/18 职场文书
十八大演讲稿
2014/05/22 职场文书
就业协议书
2014/09/12 职场文书
大学生村官入党自传
2015/06/26 职场文书
投诉书格式范本
2015/07/02 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
教师教育心得体会
2016/01/19 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
Python利用FlashText算法实现替换字符串
2022/03/31 Python