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


猜你喜欢
- 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所
- pytorch 库pytorch 本身具有载入cifar10等数据集的函数,但是载入的是3*200*200的张量,当碰到要使用灰度图像时,可
- 一 multiprocessing模块介绍python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_cou
- 本文实例讲述了Python实现的多项式拟合功能。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-#! pyth
- 下面是例子分析表A记录如下: aID aNum
- 需求:需求简单:但是感觉最后那部分遍历有意思:S型数组赋值,考虑到下标,简单题先实现个差不多的m = 5cols = 9rows = 4nu
- 国 * 公司安全团队开发出利用赛门铁克数据库安全与审计(SDSA)设备监视数据库的一系列客户化的政策。他们是如何在已有安全策略基础上做优
- 前言我们实战经常会遇到以下几个问题:1、遇到一个利用步骤十分繁琐的漏洞,中间错一步就无法利用2、挖到一个通用漏洞,想要批量刷洞小赚一波,但手
- 前言针对使用MySQL的索引,我们之前介绍过索引的最左前缀规则,索引覆盖,唯一索引和普通索引的使用以及优化器选择索引等概念,今天我们讨论下如
- 在推广Web标准的今天,那些崇尚Web标准的人经常说XHTML比HTML更加严格,当然从某种意义上说是的,比如它要求所有的标签关闭并且所有的
- 在通过拼组sql语句来实现数据插入的应用中,我们很有可能会遇到需要插入大型数据的情况,例如,在oracle中需要插入字节数超过4000的字段
- 本次爬虫思路最最重要的是分析信息接口!!!1. 获取url2. 通过请求拿到响应3. 处理反爬4. 提取信息5. 保存内容本次操练网页htt
- 本文学习如何在Golang程序中执行Shell命令(如,ls,mkdir或grep),如何通过stdin和stdout传入I/O给正在运行的
- Python基本内置数据类型有哪些一些基本数据类型,比如:整型(数字)、字符串、元组、列表、字典和布尔类型。随着学习进度的加深,大家还会接触
- 1、 设置WriteHeader的顺序问题之前遇到个问题,在一段代码中这样设置WriteHeader,最后在header中取Name时怎么也
- 3*3卷积核与2*5卷积核对神经元大小的设置#这里kerner_size = 2*5class CONV_NET(torch.nn.Modu
- 1、安装 nvmcurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.3
- 从接触互联网开始,一直在关注每个网站页面浏览速度,不管大小国内外网站,而且每个用户的浏览时间都不一样,从而了解用户在浏览页面上时间体验尺度的
- 使用filter函数,实现一个条件判断函数即可。比如想过滤掉字符串数组中某个敏感词,示范代码如下:#filter out some unwa
- 如下所示:#tensorflow 中从ckpt文件中恢复指定的层或将指定的层不进行恢复:#tensorflow 中不同的layer指定不同的