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学习笔记之os模块使用总结
Nov 03 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
python实现超级马里奥
Mar 18 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 Python
keras-siamese用自己的数据集实现详解
Jun 10 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
pytorch 6 batch_train 批训练操作
May 28 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
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
js压缩利器
2007/02/20 Javascript
javascript下function声明一些小结
2007/12/28 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Django中URL的参数传递的实现
2019/08/04 Python
django连接oracle时setting 配置方法
2019/08/29 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
假日旅行社实习自我鉴定
2013/09/24 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
python神经网络 使用Keras构建RNN训练
2022/05/04 Python