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. 如何处理数据库事务中的异常常见场景处理方式示例讨论 总结 异常是指…...
 
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
 
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
 
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
 
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
 
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
