python matplotlib
一、图形函数
函数名称 | 描述 |
---|---|
Bar | 绘制条形图 |
Barh | 绘制水平条形图 |
Boxplot | 绘制箱型图 |
Hist | 绘制直方图 |
his2d | 绘制2D直方图 |
Pie | 绘制饼状图 |
Plot | 在坐标轴上画线或者标记 |
Polar | 绘制极坐标图 |
Scatter | 绘制x与y的散点图 |
Stackplot | 绘制堆叠图 |
Stem | 用来绘制二维离散数据绘制(又称为火柴图) |
Step | 绘制阶梯图 |
Quiver | 绘制一个二维按箭头 |
二、功能函数
函数名称 | 描述 |
---|---|
Figtext | 在画布上添加文本 |
Figure | 创建一个新画布 |
Show | 显示数字 |
Savefig | 保存当前画布 |
Close | 关闭画布窗口 |
三、图形位置函数
1、figure
设置画布,控制图形位置
figsize:指定画布的大小,(宽度,高度),单位为英寸
dpi:指定绘图对象的分辨率,即每英寸多少个像素,默认值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
fig = pylab.figure(figsize=(10, 10), facecolor='g', edgecolor='r', frameon=True)
2、figure.add_axes
定义数据轴,根据数据轴锁定图像显示区域;
[left, bottom, width, height]:
left 和 bottom 是轴域左下角的坐标,范围从 0 到 1。
width 和 height 是轴域的宽度和高度,范围从 0 到 1。
ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.4]) ax2 = fig.add_axes([0.5, 0.5, 0.4, 0.4])
3、axes.legend
添加图例,自动显示每条线或数据集的标签;。
labels 若在图形生成中设置了,在这里面无需设置labels,若无则 labels =["标签1,'标签2'],若无括号,就自动拆分字符串。
loc 指定标签显示在轴域的位置
handles 不填默认此轴域内的所有图形,单个填写时 handles = 图形,多个则 handles =[图形1,图形2]
ax1.legend( loc='upper right', labels=['x^2', 'x'])
loc 位置 | 字符串表示 | 整数数字表示 |
---|---|---|
自适应 | Best | 0 |
右上方 | upper right | 1 |
左上方 | upper left | 2 |
左下 | lower left | 3 |
右下 | lower right | 4 |
右侧 | right | 5 |
居中靠左 | center left | 6 |
居中靠右 | center right | 7 |
底部居中 | lower center | 8 |
上部居中 | upper center | 9 |
中部 | center | 10 |
4、add_subplot
fig.add_subplot(nrows, ncols, index);将画布分为多块区域,图形根据index放入指定位置
ax1 = fig.add_subplot(2, 2, 1) 表示将画布分为两行两列的四个区域,此图为第一个区域(类似第二象限)
ax2 = fig.add_subplot(2, 2, 3) 表示将画布分为两行两列的四个区域,此图为第三个区域(类似第三象限)
5、subplots
格式:fig, axs = plt.subplots(nrows, ncols, figsize=(width, height))
subplot 是根据大小锁定在画布的某块区域,需要一个个确定图形的区域,当设置的区域格式不一致时,图形大小也随着变化导致看上去怪异。
subplots 直接将画布分割成 nrows *ncols 的矩形区域,在创建图形时直接通过行索引和列索引确定位置。
fig, axs = plt.subplots(2, 3, figsize=(18, 8)) 将画布分割成两行三列的六块区域。
axs[0, 0].plot(x, y1, label='sin(x)') #生成图像在第一块区域
axs[1, 2].plot(x, y3, label='tan(x)') #生成图像在第六块区域
6、subplot2gird
格式:ax = plt.subplot2grid(shape, loc, rowspan=1, colspan=1)
shape: 网格的形状,格式为 (rows, cols),表示网格的行数和列数,在figure中式全局设置。
loc: 子图的起始位置,格式为 (row, col),表示子图在网格中的起始行和列。
rowspan: 子图占据的行数,默认为 1。
colspan: 子图占据的列数,默认为 1。
ax1 = plt.subplot2grid((3, 3), (0, 0)) #表示占据三行三列,从原点出发的图像
ax4 = plt.subplot2grid((2, 2), (1, 1)) #表示占据两行两列,从第二行第二列的交织点出发的图像
7、grid
根据横轴和纵轴的值生成网格。
8、xscale 和 yscale
坐标轴默认根据数据情况(一般为整数或小数数值)设置刻度,可以使用 xscale 修改 横坐标 刻度, yscale 修改 纵坐标 刻度。
ax1.set_xscale('log') ax1.set_yscale('log')
9、set_xlim 和 set_ylim
调整坐标轴的取值范围;格式:ax.set_xlim(left, right) 、ax.set_ylim(bottom, top)
left 和 right:X 轴的范围,left 是 X 轴的最小值,right 是 X 轴的最大值。
bottom 和 top: Y 轴的范围,bottom 是 Y 轴的最小值,top 是 Y 轴的最大值。
ax1.set_xlim(0,2*np.pi) ax1.set_ylim(-3, 3)
10、set_xticks 和 set_yticks
调整坐标轴上的刻度个数和数据;
ax1.set_xticks([0, 2, 4, 6, 8, 10]) ax1.set_yticks([-1, -0.5, 0, 0.5, 1])
11、twinx 和 twiny 函数
多个图形之间共享坐标轴:twinx 表示 横坐标,twiny 表示纵坐标。
ax2 = ax1.twinx() ax2 = ax1.twiny()
四、图形展示
1、plot 线性图
格式:pylab.plot(x, y, format_string=None, **kwargs);format_string: 格式字符串,用于指定线条样式、颜色等。
'b':蓝色 'g'
:绿色 'r'
:红色 'c'
:青色 'm'
:洋红色 'y'
:黄色 'k'
:黑色 'w'
:白色
'.'
:点标记 ','
:像素标记 'o'
:圆圈标记 'v'
:向下三角标记 '^'
:向上三角标记 '<'
:向左三角标记 '>'
:向右三角标记 's'
:方形标记 'p'
:五边形标记 '*'
:星形标记 'h'
:六边形标记 1 'H'
:六边形标记 2 '+'
:加号标记 'x'
:叉号标记 'D'
:菱形标记 'd'
:细菱形标记 '|'
:竖线标记 '_'
:横线标记
'-'
:实线 '--'
:虚线 '-.'
:点划线 ':'
:点线
2、Bar 柱状图
格式:ax.bar(x, height, width=0.8, bottom=None, align='center', **kwargs) :x: 柱状图的 X 轴位置;height 柱状图的高度;width 柱状图的宽度,默认为 0.8;bottom 柱状图的底部位置,默认为 0;align 柱状图的对齐方式,可以是 'center'(居中对齐)或 'edge'(边缘对齐);**kwargs: 其他可选参数,用于定制柱状图的外观,如 color、edgecolor、linewidth 等。
ax.bar(x, y, align='center') ax.bar(x, y1, bottom=y)
x = ['A', 'B', 'C', 'D']
y = [20, 30, 15, 40]
y1 = [30, 20, 35, 10]fig, ax = plt.subplots()
ax.bar(x, y, align='center')
ax.bar(x, y1, bottom=y)plt.show() 3、
3、hist 直方图
格式:ax.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, **kwargs):x: 数据数组;bins: 直方图的柱数,可以是整数或序列;range: 直方图的范围,格式为 (min, max)
;density: 是否将直方图归一化,默认为 False
;weights: 每个数据点的权重;cumulative: 是否绘制累积直方图,默认为 False;
**kwargs: 其他可选参数,用于定制直方图的外观,如 color
、edgecolor
、linewidth
等。
ax.hist(data, bins=150)
data = np.random.randn(10000)
fig, ax = plt.subplots()
ax.hist(data, bins=150)
plt.show()
4、pie 饼图
格式:ax.pie(x, explode=None, labels=None, colors=None, autopct=None, shadow=False, startangle=0, **kwargs) :x: 数据数组,表示每个扇区的数据(自动全部汇总算出占比);explode: 一个数组,表示每个扇区偏离圆心的距离,默认为 None
;labels 每个扇区的标签,默认为 None;
colors 每个扇区的颜色,默认为 None
;autopct 控制显示每个扇区的占比,可以是格式化字符串或函数,默认为 None;
shadow: 是否显示阴影,默认为 False;
startangle 饼图的起始角度,默认为 0;**kwargs: 其他可选参数,用于定制饼图的外观。
ax.pie(y, labels=x, startangle=90, autopct='%1.1f%%')
x = ['A', 'B', 'C', 'D']
y = [2, 3, 4, 5]
fig, ax = plt.subplots()
ax.pie(y, labels=x, startangle=90, autopct='%1.1f%%')
plt.show()
5、Scatter 散点图
格式:ax.scatter(x, y, s=None, color=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, **kwargs):x: X 轴数据;y: Y 轴数据;s 点的大小,可以是标量或数组;color: 点的颜色,可以是标量、数组或颜色列表;marker 点的形状,默认为 'o'(圆圈);cmap: 颜色映射,用于将颜色映射到数据;norm: 归一化对象,用于将数据映射到颜色映射;vmin, vmax: 颜色映射的最小值和最大值;alpha: 点的透明度,取值范围为 0 到 1;linewidths: 点的边框宽度;edgecolors: 点的边框颜色;**kwargs: 其他可选参数,用于定制散点图的外观。
axes.scatter(x, y0, color='red', s=100, marker='o')
'o': 圆圈 's': 正方形 'D': 菱形 '^': 上三角形 'v': 下三角形 '>': 右三角形
'<': 左三角形 'p': 五边形 '*': 星形 '+': 加号 'x': 叉号 '.': 点 ',': 像素
'1': 三叉戟下 '2': 三叉戟上 '3': 三叉戟左 '4': 三叉戟右
'h': 六边形1 'H': 六边形2 'd': 小菱形 '|': 竖线 '_': 横线
相关文章:

python matplotlib
一、图形函数 函数名称描述Bar绘制条形图Barh绘制水平条形图Boxplot绘制箱型图Hist绘制直方图his2d绘制2D直方图Pie绘制饼状图Plot在坐标轴上画线或者标记Polar绘制极坐标图Scatter绘制x与y的散点图Stackplot绘制堆叠图Stem用来绘制二维离散数据绘制(又称为火柴图&…...

秋招面试题记录_半结构化面试
c八股(可能问的多一点) 1.简单说说C11语法特性 答: 1.auto以及decltype自动类型推导,避免手动声明复杂类型,减少冗长代码提升了可读性和安全性。 2.智能指针 自动释放内存 (具体说说) 有shared和unique 差异主要体现在所有权、内存开销、…...

Java项目-基于springboot框架的疫苗接种管理系统项目实战(附源码+文档)
作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…...
Android 12.0进程保活白名单功能实现
在Android 12.0系统中,实现进程保活白名单功能是为了确保某些重要的应用程序即使进入后台也能长时间保持运行状态,不被系统自动杀死。这一功能的实现涉及多个核心类和文件,以下是具体的实现步骤和核心功能分析: 一、实现步骤 …...
vscode 功能、设置备忘
2024年10月18日 crtl p 按文件名搜索,输入> 开始搜索命令 设置文件显示过滤和搜索过滤: ctrlp 输入 >settings 选择Preferences:Open Settings(UI),搜索exclude 配置 Files Exclude 修改显示过滤 配置 Search Exclude 修…...

错误 Failed to connect to xx.xx.xx.xx port xx: No route to host
Failed to connect to xx.xx.xx.xx port xx: No route to host 系统环境: Oracle Cloud(OCI)Ubuntu20.4 问题: 连接本机IP正常访问,连接内网ip可正常访问,但连接外网IP报错:Failed to conne…...
Redis环境的搭建
Redis环境的搭建可以分为Linux系统和Windows系统两种情况。 一、Linux系统下Redis的搭建 1. 安装前准备 确保Linux系统已安装GCC环境,可以使用yum install gcc-c命令安装。下载Redis安装包,例如redis-6.2.6.tar.gz,并将其上传到Linux服务器…...

Git Push(TODO)
最近经常碰到GIT push不上去的问题。到处求人解决也真是尴尬,想自己看看,所以刚刚在github上建了一个仓,试了下。结果如下: 暂时可能还不行,因为数据都是加密的,没法看到具体GIT的交互信息。。。 后面再想办…...
Java工具类--截至2024常用http工具类分享
1. Apache HttpClient Apache HttpClient是一个功能强大的、灵活的HTTP客户端,用于发送请求和接收响应。它支持HTTP/1.1和HTTP/2协议,并且提供了丰富的配置选项。适用于需要高度可配置性和扩展性的场景。 2.OkHttp OkHttp是一个高效的HTTP客户端&…...

C#学习笔记(五)
C#学习笔记(五) 第 三 章 基本语句以及语法一、控制台的基本语句使用1. 方法重载2. 输入输出3.字符串格式化 二、赋值运算符、算数运算符、比较运算符三、数据类型转换常用方法使用、比较和选择1. 自动类型转换(隐式转换)2. 强制类型转换2.1 数值类型之间…...

视频云存储/音视频流媒体视频平台EasyCVR视频汇聚平台在欧拉系统中启动失败是什么原因?
视频监控/视频集中存储/磁盘阵列EasyCVR视频汇聚平台具备强大的拓展性和灵活性,支持多种视频流的外部分发,如RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC、fmp4等,这为其在各种复杂环境下的部署提供了便利。 安防监控EasyCVR视频汇聚平…...

spring源码中的,函数式接口,注解@FunctionalInterface
调用方 /org/springframework/beans/factory/support/AbstractBeanFactory.java:333sharedInstance getSingleton(beanName, () -> {try {return createBean(beanName, mbd, args);}catch (BeansException ex) {// Explicitly remove instance from singleton cache: It mi…...
分布式系统中的Session共享:实现跨服务器的用户登录信息同步
引言 在现代Web应用中,分布式架构已经成为主流。随着业务规模的扩大,单台服务器往往难以承载所有的请求,因此需要多台服务器协同工作来提供服务。然而,在这种分布式环境中,如何确保用户的登录状态能够在不同的服务器之…...

【LeetCode每日一题】——1588.所有奇数长度子数组的和
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 前缀和 二【题目难度】 简单 三【题目编号】 1588.所有奇数长度子数组的和 …...

自定义多级联动选择器指南(uni-app)
多端支持:可以运行在H5、APP、微信小程序还是支付宝小程序,都可以轻松使用改组件。自定义配置:您可以根据需要配置选择器的级数,使其适应不同的数据结构和用例。无限级联:此组件支持无限级联选择,使您能够创…...
RHCE笔记-SSH服务
一.对称加密与非对称加密 1.1对称加密 1. 原理 对称加密是指加密和解密使用相同的密钥。也就是说,发送方和接收方在通信之前需要共享一个秘密密钥,使用这个密钥对数据进行加密和解密。 2. 常见算法 AES (Advanced Encryption Standard):…...
java实现文件分片上传并且断点续传
文章目录 什么是断点续传后端实现JAVA实现大文件分片上传断点续传 什么是断点续传 用户上传大文件,网络差点的需要历时数小时,万一线路中断,不具备断点续传的服务器就只能从头重传,而断点续传就是,允许用户从上传断线的地方继续传…...
leetcode hot100 之【LeetCode 15. 三数之和】 java实现
LeetCode 15. 三数之和 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c 使得 a b c 0?请你找出所有和为 0 且不重复的三元组。 注意: 答案中的三元组可以按任意顺序组织。在 n…...
mysql学习教程,从入门到精通,sql序列使用(45)
sql序列使用 在SQL中,序列(Sequence)是一种数据库对象,用于生成唯一的数值,通常用于自动递增的主键。不同的数据库管理系统(DBMS)对序列的支持和语法可能有所不同。以下是一些常见的DBMS&#…...
Java 中的异常处理、常见异常、如何自定义异常类、Checked 和 Unchecked 异常的区别、如何处理数据库事务中的异常
文章目录 1. 异常的基本概念与处理方法定义常见异常类补充说明: 异常处理方法示例 2.如何自定义异常类步骤示例 3. Java 中的 Checked 和 Unchecked 异常的区别Checked 异常Unchecked 异常示例 4. 如何处理数据库事务中的异常常见场景处理方式示例讨论 总结 异常是指…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...