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

news2024/10/6 12:19:19

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.coloradmin.cn/o/845617.html

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

相关文章

浅析 String

浅析String 一、创建字符串二、字符串与常量池三、字符串的不可变性四、字符串的拼接五、StringBuilder和StringBuffer 一、创建字符串 //三种常用的构造字符串的方式public static void main(String[] args) {String str1 "hello";String str2 new String("w…

Effective Java笔记(26)请不要使用原生态类型

首先介绍一些术语 。 声明中具有一个或者多个类型参数( type parameter )的类或者接口,就是泛型( generic )类或者接口 。 例如,List 接口就只有单个类型参数 E ,表示列表的元素类型 。这个接口…

码云 Gitee + Jenkins 配置教程

安装jdk 安装maven 安装Jenkins https://blog.csdn.net/minihuabei/article/details/132151292?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132151292%22%2C%22source%22%3A%22minihuabei%22%7D 插件安装 前往 Manage Jen…

聊聊汽车电子的话题

当谈到汽车电子时,有许多有趣的话题可以探讨。以下是一些可能感兴趣的话题: 自动驾驶技术:自动驾驶技术正变得越来越先进,它们如何在汽车中实现?它们将如何改变我们的交通方式以及对道路安全的影响? 电动汽…

【LeetCode每日一题】——85.最大矩形

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 困难 三【题目编号】 85.最大矩形 四【题目描述】 给定一个仅包含 0 …

【Java split】split() 函数分割空字符串后数组长度为1的原因以及规避措施(105)

问题现象: import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class test06 {public static void main(String[] args) {// Java split()函数 分割空字符串长度为1的解释;String s2 "";String[] arr2 s2.split(&quo…

[SWPUCTF 2022 新生赛]numgame

这道题有点东西网页一段计算框,只有加和减数字,但是永远到大不了20,页面也没啥特别的,准备看源码,但是打不开,我以为是环境坏掉了,看wp别人也这样,只不过大佬的开发者工具可以打开&a…

elementUi select下拉框触底加载异步分页数据

在Element UI中,可以通过监听select下拉框的visible-change事件来实现触底加载下一页的效果。 方式一:利用elementUi的事件 具体步骤如下: 首先,在select组件中设置:visible-change"handleVisibleChange"…

Unity之获取用户地理位置

1.直接利用三方API获取&#xff1a; 1.1 利用bilibili的api 【未知稳定性】 public void Awake() {StartCoroutine(GetLocationInfoNew());}/// <summary>/// 利用bilibili的接口通过ip直接获取城市信息/// </summary>IEnumerator GetLocationInfoNew() {//UnityW…

在 Linux 上以 All-in-One 模式安装 KubeSphere

官方文档&#xff1a;https://www.kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/ 操作系统 最低配置 Ubuntu&#xff1a; 16.04,18.04, 20.04, 22.04 2 核 CPU&#xff0c;4 GB 内存&#xff0c;40 GB 磁盘空间Debian Buste&#xff1a;Stretch 2 核 CPU&am…

Leetcode周赛 | 2023-8-5

2023-8-5 题1体会我的代码 题2体会我的代码 题1 体会 一开始是觉得这道题是贪心的&#xff0c;选出现次数最多的元素&#xff0c;但是发现&#xff0c;当有多个元素出现次数均为最多时&#xff0c;似乎很难处理&#xff0c;就放弃了。转而问ChatGPT &#xff0c;结果让自己走上…

可视化高级绘图技巧100篇-总论

前言 优秀的数据可视化作品可以用三个关键词概括&#xff1a;准确、清晰、优雅。 准确&#xff1a;精准地反馈数据的特征信息&#xff08;既不遗漏也不冗余&#xff0c;不造成读者疏漏&误读细节&#xff09; 清晰&#xff1a;获取图表特征信息的时间越短越好 优雅&…

吃瓜教程-Task05

目录 支持向量机 间隔与支持向量 SVM基本型 对偶问题 kkt条件 例子 对偶问题 例子 对偶问题原理解释 软间隔与正则化 替代损失函数 支持向量回归 例子 支持向量机 间隔与支持向量 在样本空间中&#xff0c;划分超平面可通过如下线性方程来描述: 样本空间中任意点x到…

Doris(四)-聚合模型的使用

pre 前言 这里使用聚合模型&#xff0c;可以在导入数据的时候&#xff0c;就将部分数据做预处理&#xff0c;提高查询效率。 同样&#xff0c;因为是预处理&#xff0c;因此&#xff0c;数据细节会丢失。 1, 建表语句 create table if not exists user_landing_record_new …

基于Java+SpringBoot+Vue的篮球竞赛预约平台设计与实现(源码+LW+部署文档等)

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

框框大学之——教育技术学

清一色劝退的教育技术学。。。。。。 https://www.kkdaxue.com/?current1&major%E6%95%99%E8%82%B2%E6%8A%80%E6%9C%AF%E5%AD%A6&pageSize10&sortFieldcreateTime&sortOrderdescend 总结&#xff1a; 1 杂而不经 2 摆烂劝退居多 3 适合躺平 4 考公不行 5 要多…

探秘手机隐藏的望远镜功能:开启后,观察任何你想看的地方

当今的智能手机不仅仅是通信工具&#xff0c;它们蕴藏着各种隐藏的功能&#xff0c;其中之一就是让你拥有望远镜般的观察能力。是的&#xff0c;你没有听错&#xff01;今天我们将探秘手机中隐藏的望远镜功能&#xff0c;这项神奇的功能可以让你打开后&#xff0c;轻松观察任何…

L2CS-Net: 3D gaze estimation

L2CS-Net: Fine-Grained Gaze Estimation in Unconstrained Environments论文解析 摘要1. 简介2. Related Work3. METHOD3.1 Proposed loss function3.2 L2CS-Net 结构3.3 数据集3.4 评价指标 4. 实验4.1 实验结果 论文地址&#xff1a;L2CS-Net: Fine-Grained Gaze Estimation…

R语言安装包Seurat

环境Ubuntu22&#xff0c;R4.1 also installing the dependencies ‘curl’, ‘openssl’, ‘httr’, ‘plotly’ R包安装的时候报了这个错误ERROR: dependencies httr, plotly are not available for package Seurat 解决方法&#xff0c;退出R&#xff0c;在terminal中键入…

将整数,结构体,结构体数组,链表写到文件

在之前的学习中&#xff0c;忘文件中写的内容都是字符串或字符&#xff0c;本节学习如何写入其他各种类型的数据。 回看write和read函数的形式&#xff1a; ssize_t write(int fd, const void *buf, size_t count); ssize_t read(int fd, void *buf, size_t count); 其中&a…