matplotlib库的用法——各种图的绘制

matplotlib是一个流行的Python绘图库,用于创建各种静态、动态、交互式可视化。以下是一些基本的用法:

线图

plt.plot([1, 2, 3, 4])
plt.ylabel('Some Numbers')
plt.show()

 散点图

x = [1,2,3,4,5]
y = [2,3,4,5,6]
plt.scatter(x, y)
plt.show()

 条形图

names = ['mk', 'ct']
values = [666, 250]
plt.bar(names, values)
plt.show()

 直方图

# 示例数据
data = [1, 2, 2, 3, 3, 3, 4, 4, 5]# 使用plt.hist()绘制直方图
plt.hist(data, bins=5, edgecolor='black') # 分成5个区间# 添加标签和标题(可选)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')# 显示图形
plt.show()

 饼图

# 数据
sizes = [15, 30, 45, 10]
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)# 设置为圆形(避免变成椭圆)
plt.axis('equal')# 显示图形
plt.show()

 箱线图

# 示例数据
data = [20, 21, 22, 23, 24, 25, 22, 28, 29, 30, 22, 23, 19, 18, 30]# 绘制箱线图
plt.boxplot(data)# 添加标题和标签(可选)
plt.title('Box Plot')
plt.ylabel('Value')# 显示图形
plt.show()

 箱线图展示了数据的五个主要统计量:最小值、第一四分位数、中位数、第三四分位数和最大值。这些值可以在图上清楚地看到,并有助于了解数据的分布和中心趋势。

热图

import matplotlib.pyplot as plt
import numpy as np# 创建一个示例数据,例如10x10的随机数组
data = np.random.rand(10, 10)# 使用imshow函数创建热图
plt.imshow(data, cmap='hot', interpolation='nearest')# 添加颜色条
plt.colorbar()# 添加标题和标签(可选)
plt.title('Heatmap')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')# 显示图形
plt.show()

 三维图

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np# 创建一个坐标网格
X = np.linspace(-5, 5, 50)
Y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(X, Y)# 定义一个三维函数,例如一个简单的抛物面
Z = X**2 + Y**2# 创建一个图形窗口
fig = plt.figure()# 在图形窗口中创建一个3D坐标轴
ax = fig.add_subplot(111, projection='3d')# 使用坐标轴上的`plot_surface`方法绘制曲面
ax.plot_surface(X, Y, Z, cmap='viridis')# 添加标签和标题(可选)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
ax.set_title('3D Surface Plot')# 显示图形
plt.show()

 轮廓图

import matplotlib.pyplot as plt
import numpy as np# 创建坐标网格
X = np.linspace(-5, 5, 100)
Y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(X, Y)# 定义一个三维函数,例如一个简单的抛物面
Z = X**2 + Y**2# 使用contour函数绘制等高线
plt.contour(X, Y, Z, levels=20)# 使用contourf函数绘制填充的等高线(可选)
plt.contourf(X, Y, Z, levels=20, alpha=0.5, cmap='viridis')# 添加标签和标题(可选)
plt.xlabel('X Label')
plt.ylabel('Y Label')
plt.title('Contour Plot')# 显示图形
plt.show()

 棒棒糖图

import matplotlib.pyplot as plt# 创建数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 23, 17, 14, 28]# 绘制棒棒糖棒
plt.stem(categories, values, linefmt='-', markerfmt='o')# 添加标题和标签(可选)
plt.title('Lollipop Chart')
plt.xlabel('Categories')
plt.ylabel('Values')# 显示图形
plt.show()

 误差条形图

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4, 5]
y = [10, 15, 9, 20, 17]
y_error = [1, 2, 1.5, 2.5, 1.2]  # 误差# 绘制误差条形图
plt.errorbar(x, y, yerr=y_error, fmt='o', capsize=5, color='blue')# 添加标题和标签(可选)
plt.title('Error Bar Chart')
plt.xlabel('X Values')
plt.ylabel('Y Values')# 显示图形
plt.show()

误差条形图是一种图表,用于展示数据的不确定性。它通过在每个数据点周围添加误差条来表示可能的值的范围,通常用于科学和工程图表,以展示测量的不确定性或统计的可变性。

下面是误差条形图的主要组成部分和含义:

  1. 中心点:每个误差条的中心点表示数据的平均值、中位数或特定测量值。

  2. 误差条:连接到中心点的线表示数据的变化范围或不确定性。误差条的长度可以代表标准偏差、标准误差、置信区间等。

  3. 误差线端部:误差条的端部(也称为“帽子”)可以更精确地表示误差范围的界限。

  4. 水平和垂直误差条:误差条可以是垂直的(yerr)或水平的(xerr),取决于你想表示哪个方向上的不确定性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sklearn中使用决策树

1.示例 criterion可以是信息熵,entropy,可以是基尼系数gini # -*-coding:utf-8-*- from sklearn import tree from sklearn.datasets import load_wine from sklearn.model_selection import train_test_split wineload_wine()# print ( wine.feature_…

【2.3】Java微服务:sentinel服务哨兵

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏:Java微服务 ✨特色专栏: 知识分享 &…

css-3:什么是响应式设计?响应式的原理是什么?如何做?

1、响应式设计是什么? 响应式网站设计(Responsive WEB desgin)是一个网络页面设计布局,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的相应和调整。 描述响应式…

ensp与虚拟机搭建测试环境

1.虚拟机配置 ①首先确定VMnet8 IP地址,若要修改IP地址,保证在启动Ensp前操作 ②尽量保证NAT模式 2.ensp配置 (1)拓扑结构 (2)Cloud配置 ①首先点击 绑定信息 UDP → 增加 ②然后点击 绑定信息 VMware ... → 增加 ③最后在 端口映射设置上点击双向通…

Hive创建外部表详细步骤

① 在hive中执行HDFS命令:创建/data目录 hive命令终端输入: hive> dfs -mkdir -p /data; 或者在linux命令终端输入: hdfs dfs -mkdir -p /data; ② 在hive中执行HDFS命令:上传/emp.txt至HDFS的data目录下,并命名为…

jmeter工具测试和压测websocket协议【杭州多测师_王sir】

一、安装JDK配置好环境变量,安装好jmeter 二、下载WebSocketSampler发送请求用的,地址:https://bitbucket.org/pjtr/jmeter-websocket-samplers/downloads/?spma2c4g.11186623.2.15.363f211bH03KeI 下载解压后的jar包放到D:\JMeter\apache-j…

2.Flink应用

2.1 数据流 DataStream:DataStream是Flink数据流的核心抽象,其上定义了对数据流的一系列操作DataStreamSource:DataStreamSource 是 DataStream 的 起 点 , DataStreamSource 在StreamExecutionEnvironment 中 创 建 ,…

init_pg_dir 的大小及作用

init_pg_dir 的大小 vmlinux.lds.S 中 在vmlinux.lds.S 中,有 init_pg_dir .; . INIT_DIR_SIZE; init_pg_end .;/*include/asm/kernel-pgtable.h*/ #define EARLY_ENTRIES(vstart, vend, shift) \ ((((vend) - 1) >&g…

基于 CentOS 7 构建 LVS-DR 群集

文章目录 前言1、LVS集群2、DR模式的工作流程图 一、LVS DR模式的配置二、配置步骤总结 前言 什么是LVS集群?DR模式? 1、LVS集群 LVS采用的是合入内核模块,先把对于nginx来说要稳定很多,性能和稳定都在一定层度上占据优势&…

【ChatGPT 指令大全】怎么使用ChatGPT写履历和通过面试

目录 怎么使用ChatGPT写履历 寻求履历的反馈 为履历加上量化数据 把经历修精简 为不同公司客制化撰写履历 怎么使用ChatGPT通过面试 汇整面试题目 给予回馈 提供追问的问题 用 STAR 原则回答面试问题 感谢面试官的 email 总结 在职场竞争激烈的今天,写一…

linux网络编程--线程池UDP

目录 学习目标 1线程池 2.UDP通信 3本地socket通信 学习目标 了解线程池模型的设计思想能看懂线程池实现源码掌握tcp和udp的优缺点和使用场景说出udp服务器通信流程说出udp客户端通信流程独立实现udp服务器代码独立实现udp客户端代码熟练掌握本地套接字进行本地进程通信 1…

FreeRTOS源码分析-10 互斥信号量

目录 1 事件标志组概念及其应用 1.1 事件标志组定义 1.2 FreeRTOS事件标志组介绍 1.3 FreeRTOS事件标志组工作原理 2 事件标志组应用 2.1 功能需求 2.2 API 2.3 功能实现 3 事件标志组原理 3.1 事件标志组控制块 3.2 事件标志组获取标志位 3.3 等待事件标志触发 3.4…

小程序的api使用 以及一些weui组件实列获取头像 扫码等

今日目标 响应式单位rpx小程序的生命周期 【重点】20%小程序框架 weui 【重点】 50%内置API 【重点】30%综合练习 1. 响应式rpx 1.1 rpx单位 rpx是微信小程序提出的一个尺寸单位,将整个手机屏幕宽度分为750份,1rpx 就是 1/750,避免不同手…

QT自带PDF库的使用

QT自带PDF库可以方便的打开PDF文件,并将文件解析为QImage,相比网上提供的开源库,QT自带PDF库使用更方便,也更加可靠,然而,QT自带PDF库的使用却不同于其他通用库的使用,具备一定的技巧。 1. 安装…

以太网DHCP协议(十)

目录 一、工作原理 二、DHCP报文 2.1 DHCP报文类型 2.2 DHCP报文格式 当网络内部的主机设备数量过多是,IP地址的手动设置是一件非常繁琐的事情。为了实现自动设置IP地址、统一管理IP地址分配,TCPIP协议栈中引入了DHCP协议。 一、工作原理 使用DHCP之…

通向架构师的道路之weblogic与apache的整合与调优

一、BEAWeblogic的历史 BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的 开发、集成、部署和管理之中。 BEA WebLogic Server拥有处理关键Web应…

pytorch求导

pytorch求导的初步认识 requires_grad tensor(data, dtypeNone, deviceNone, requires_gradFalse)requires_grad是torch.tensor类的一个属性。如果设置为True,它会告诉PyTorch跟踪对该张量的操作,允许在反向传播期间计算梯度。 x.requires_grad 判…

TM4C123库函数学习(1)--- 点亮LED+TM4C123的ROM函数简介+keil开发环境搭建

前言 (1) 首先,我们需要知道TM4C123是M4的内核。对于绝大多数人而言,入门都是学习STM32F103,这款芯片是采用的M3的内核。所以想必各位对M3内核还是有一定的了解。M4内核就是M3内核的升级版本,他继承了M3的的…

【力扣每日一题】2023.8.5 合并两个有序链表

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们两个有序的链表,要我们保持升序的状态合并它们。 我们可以马上想要把两个链表都遍历一遍,把所有节点的…

1-搭建一个最简单的验证平台UVM,已用Questasim实现波形!

UVM-搭建一个最简单的验证平台,已用Questasim实现波形 1,背景知识2,".sv"文件搭建的UVM验证平台,包括代码块分享3,Questasim仿真输出(1)compile all,成功!&…