Python matplotlib超详细教程实现图形绘制
作者:编程简单学 发布时间:2023-04-20 06:37:53
前言
我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图、柱状图、饼图、直方图等统计图表的相关方法,列举往期文章如下。
Python利用 matplotlib 绘制直方图
Python用 matplotlib 绘制柱状图
python 用matplotlib绘制折线图详情
Python利用matplotlib实现饼图绘制
matplotlib 模块不仅提供了绘制统计图表的功能,还支持绘制圆形、正方形、矩形等各种图形
本期,我们来学习使用matplotlib模块绘制常见的图形吧,Let's go~
1. matplotlib.patches概述
matplotlib.patches 专门用来绘制图形的类,在该类是以Artist为基类
pathes 是专门绘制2D图形的类
patch 绘制的图形默认是以rc params设置
patch 模块提供多达10种图形方法满足日常需求
2. 绘制图形方法
对应matplotlib模块来说,patches类提供绘制圆形、椭圆形、矩形等图形方法
3. 绘制图形步骤
在matplotlib模块中,图表都是由figure、Axes和Axis三个基本元素组成,因此在绘制图形时,一般步骤主要有以下组成。
导入matplotlib pyplot和patches类
import matplotlib.pyplot as plt
import matplotlib.patches as mpatch
使用subplots()创建子图Axes对象
fig,ax =plt.subplots()
调用pathes类绘制图形的方法如绘制矩形Rectangle()
Rect = mpatch.Rectangle((0.2,0.75),0.4,0.4,color="r")
子图Axes对象调用set_xlim()和set_ylim坐标轴范围
patches默认情况下,x轴的坐标范围为(0,1),y轴的坐标范围为(0,1)
ax.set_xlim(-2,5)
ax.set_ylim(-2,5)
子图Axes对象调用add_patch()方法添加图形
ax.add_patch(Rect)
调用pyplot.show()展示图形
4. 绘制图形属性
设置透明度
关键字:alpha
取值类型为:浮点型
设置颜色
设置图形关键字:color
设置边框关键字:edgecolor
取值可选:
表示颜色的英文单词:如红色"red"
表示颜色单词的简称如:红色"r",黄色"y"
RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式
5. 小试牛刀
学习完上面几节的知识后,我们在图表中绘画圆形、矩形和直线吧
def drawpicture():
fig,ax =plt.subplots()
Rect = mpatch.Rectangle((1,0.75),0.4,0.4,color="yellow",alpha=0.5)
Cri = mpatch.Circle((0,0),1,angle=30,color="pink",alpha=0.2,capstyle="round")
Py = mpatch.Arrow(1,2,2,2)
ax.set_xlim(-1,5)
ax.set_ylim(-1,5)
ax.add_patch(Rect)
ax.add_patch(Cri)
ax.add_patch(Py)
plt.show()
drawpicture()
总结
本期,我们对matplotlib绘制图形相关方法和步骤进行学习,在实际操作中,还需要大量进行练习才能更加熟练地使用
来源:https://blog.csdn.net/weixin_54556126/article/details/121438509
猜你喜欢
- iframe 标签 -- 代表HTML内联框架iframe 标签是成对出现的,以<iframe>开始,</ifr
- 一、任务实现一个4 层的全连接网络实现二分类任务,网络输入节点数为2,隐藏层的节点数设计为:25,50,25,输出层2 个节点,分别表示属于
- 网上考试设计思路是怎样的?为了运行这个应用程序,我们需要在global.asa文件里进行设置数据库的连接。global.asa <&n
- asp之家注:一个取图片尺寸的asp类,支持jpg,gif,png格式的图片文件;读取图片的尺寸其实很有用,当我们在设计一个新闻文章添加页面
- 先来看看基本的定义:channel是Go语言中的一个核心类型,可以把它看成管道。并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程
- PyQt5动态(可拖动控件大小)布局控件QSplitter简介PyQt还提供了特殊的布局管理器QSplitter。它可以动态地拖动子控件之间
- PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,
- 2009年 6月6日,空间4岁啦!与此同时Qzone月登录用户2亿,同时在线用户也突破了1000万。这是让人欢欣雀跃的数字,在空间同事眼里,
- 前言Iframe 是一种将网页嵌入到另一个页面的内容中的方法。这是通过使用 HTML 元素、外部网站的 URL 以及窗口在您的网站上的外观参
- type 所有类是type生成的a = 1b = "abc"print("type a:{}&qu
- 看代码: HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi
- 谈及鼠标事件,就是在触发鼠标按钮后程序所做出相应的反应,但是不影响程序的整个线程。这有些像异步处理。鼠标事件响应不会一直等着我们去按而后续程
- 说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天! 错误时在执行SQL语句的时候发出的,信息如下: Java代码
- SWFObject的使用是非常简单的,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Fla
- Python SSH远程连接与文件传输from paramiko import (SSHClient, SFTPClient, AutoAd
- 本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过。一、
- andot提出问题:在做 ajax 编程时,我们常常需要将 xmlhttp 获取到的页面内容通过 innerHTML 来赋给某个容器(比如
- 文件提交页面既已生成,下面任务就很明确了:将提交的文件内容保存到服务器上。 下面我们用两种方法来实现这个功能: 1. 用 PHP 来保存:
- 背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的
- selenium执行js优点:直接调用浏览器的环境障碍:绕过selenium监测原理:# 执行js代码bro.execute_script(