当前位置: 首页 > news >正文

Matplotlib炫酷气泡图:代码实战与参数解析【第55篇—python:Matplotlib炫酷气泡图】

文章目录

  • Matplotlib炫酷气泡图:代码实战与参数解析
    • 1. 基础气泡图
    • 2. 网格气泡图
    • 3. 自定义颜色气泡图
    • 4. 钟型气泡图
    • 5. 交互式气泡图
    • 6. 打卡气泡图
    • 7. 动态气泡图
    • 总结

Matplotlib炫酷气泡图:代码实战与参数解析

气泡图是一种展示数据分布、关联和趋势的强大工具。Matplotlib提供了灵活的绘图功能,允许我们创建各种类型的气泡图。在本文中,我们将深入探讨不同种类的炫酷气泡图,并为每种类型提供详细的参数说明和代码实战。

解决中文乱码:

plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题

1. 基础气泡图

首先,让我们从最基础的气泡图开始。基础气泡图是一种显示数据点的大小和颜色的图表,其中大小和颜色可以表示不同的变量。

import matplotlib.pyplot as plt
import numpy as np# 生成示例数据
x = np.random.rand(50)
y = np.random.rand(50)
size = np.random.rand(50) * 100  # 随机生成气泡大小
colors = np.random.rand(50)  # 随机生成颜色# 绘制基础气泡图
plt.scatter(x, y, s=size, c=colors, alpha=0.7, cmap='viridis')# 添加标题和标签
plt.title('基础气泡图')
plt.xlabel('X轴')
plt.ylabel('Y轴')# 显示颜色条
plt.colorbar()# 显示图表
plt.show()

在上面的代码中,s参数指定了气泡的大小,c参数指定了颜色,alpha参数调整了透明度,cmap参数定义了颜色映射。

image-20240204003507023

2. 网格气泡图

网格气泡图是在二维网格中显示气泡的一种方式,使得更容易看到数据之间的空间分布。

import matplotlib.pyplot as plt
import numpy as np# 生成示例数据
x = np.linspace(0, 10, 20)
y = np.linspace(0, 10, 20)
x, y = np.meshgrid(x, y)
size = np.random.rand(20, 20) * 100
colors = np.random.rand(20, 20)# 绘制网格气泡图
plt.scatter(x, y, s=size, c=colors, alpha=0.7, cmap='plasma')# 添加标题和标签
plt.title('网格气泡图')
plt.xlabel('X轴')
plt.ylabel('Y轴')# 显示颜色条
plt.colorbar()# 显示图表
plt.show()

在上面的代码中,我们使用meshgrid函数生成二维网格,然后绘制了网格气泡图。

image-20240204003611879

3. 自定义颜色气泡图

有时候,我们需要根据特定的数据值范围自定义气泡的颜色。下面的代码演示了如何使用自定义颜色映射。

import matplotlib.pyplot as plt
import numpy as np# 生成示例数据
x = np.random.rand(50)
y = np.random.rand(50)
size = np.random.rand(50) * 100
values = np.random.rand(50)  # 表示数据值# 自定义颜色映射
custom_cmap = plt.cm.get_cmap('coolwarm', 10)  # 10个颜色级别# 绘制自定义颜色气泡图
plt.scatter(x, y, s=size, c=values, cmap=custom_cmap, alpha=0.7)# 添加标题和标签
plt.title('自定义颜色气泡图')
plt.xlabel('X轴')
plt.ylabel('Y轴')# 显示颜色条
plt.colorbar()# 显示图表
plt.show()

在这个例子中,我们使用了coolwarm颜色映射,并指定了10个颜色级别。

4. 钟型气泡图

钟型气泡图是一种通过气泡的形状来表示数据分布的图表。在Matplotlib中,我们可以使用marker参数来定义不同形状的气泡。

import matplotlib.pyplot as plt
import numpy as np# 生成示例数据
x = np.random.rand(50)
y = np.random.rand(50)
size = np.random.rand(50) * 100
shapes = ['o', 's', '^', 'D']  # 不同形状的气泡# 绘制钟型气泡图
for i in range(4):plt.scatter(x[i*12:(i+1)*12], y[i*12:(i+1)*12], s=size[i*12:(i+1)*12], marker=shapes[i], alpha=0.7)# 添加标题和标签
plt.title('钟型气泡图')
plt.xlabel('X轴')
plt.ylabel('Y轴')# 显示图表
plt.show()

在上面的代码中,我们使用了四种不同形状的气泡来表示数据。

5. 交互式气泡图

Matplotlib允许我们创建交互式图表,使用户能够与图表进行互动。下面的代码演示了如何使用mplcursors库创建交互式气泡图。

import matplotlib.pyplot as plt
import numpy as np
import mplcursors  # 导入mplcursors库# 生成示例数据
x = np.random.rand(50)
y = np.random.rand(50)
size = np.random.rand(50) * 100
labels = [f'Data point {i+1}' for i in range(50)]  # 标签# 绘制交互式气泡图
scatter = plt.scatter(x, y, s=size, alpha=0.7, picker=True)
mplcursors.cursor(hover=True).connect("add", lambda sel: sel.annotation.set_text(labels[sel.target.index]))# 添加标题和标签
plt.title('交互式气泡图')
plt.xlabel('X轴')
plt.ylabel('Y轴')# 显示图表plt.show()

在这个例子中,我们使用了mplcursors库来创建交互式气泡图,用户可以将鼠标悬停在气泡上,显示相应的标签。

6. 打卡气泡图

打卡气泡图是一种时间序列数据可视化的方式,其中气泡的位置表示时间,大小表示数值。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd# 生成示例数据
dates = pd.date_range(start='2022-01-01', end='2022-01-31', freq='D')
values = np.random.rand(len(dates)) * 100# 绘制打卡气泡图
plt.scatter(dates, values, s=values, alpha=0.7)# 添加标题和标签
plt.title('打卡气泡图')
plt.xlabel('日期')
plt.ylabel('数值')# 显示图表
plt.show()

在上面的代码中,我们使用了Pandas库生成日期范围,然后绘制了打卡气泡图。

image-20240204003758952

7. 动态气泡图

最后,让我们创建一个动态气泡图,展示气泡随时间变化的过程。

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation# 生成示例数据
x = np.random.rand(50)
y = np.random.rand(50)
size = np.random.rand(50) * 100
colors = np.random.rand(50)# 初始化图表
fig, ax = plt.subplots()
scatter = ax.scatter(x, y, s=size, c=colors, alpha=0.7, cmap='viridis')# 更新函数
def update(frame):scatter.set_offsets(np.random.rand(50, 2))scatter.set_sizes(np.random.rand(50) * 100)scatter.set_array(np.random.rand(50))return scatter,# 创建动画
animation = FuncAnimation(fig, update, frames=100, interval=200, blit=True)# 显示动画
plt.show()

在上面的代码中,我们使用FuncAnimation创建了一个动态气泡图的动画,气泡的位置、大小和颜色在每一帧都会随机更新。

通过这篇文章,我们深入了解了Matplotlib绘制不同种类炫酷气泡图的参数和代码实例。希望这些示例能够帮助你更好地利用Matplotlib进行数据可视化,创造出独特而具有吸引力的图表。

总结

本文深入介绍了Matplotlib库中绘制不同种类炫酷气泡图的方法,涵盖了基础气泡图、网格气泡图、自定义颜色气泡图、钟型气泡图、交互式气泡图、打卡气泡图和动态气泡图。每种图表都有详细的参数说明和相应的代码实战。

在实际应用中,根据数据特点和目标,选择合适的气泡图类型可以更好地传达信息。例如,基础气泡图适用于展示数据点的分布,打卡气泡图用于展示时间序列数据的变化,交互式气泡图则提供了用户友好的交互方式。

Matplotlib提供了丰富的功能和灵活性,通过学习不同类型气泡图的绘制方式,你可以更好地应对不同数据可视化的需求。同时,通过调整颜色、大小、形状等参数,可以使图表更具吸引力和表现力。

在实践中,根据具体需求不断尝试和调整参数,结合其他可视化工具和库,将数据呈现得更加清晰、生动。希望本文能够帮助读者更深入地理解Matplotlib库,并在数据分析和可视化工作中发挥更大的作用。

http://www.lryc.cn/news/293386.html

相关文章:

  • Android学习之路(29) Gradle初探
  • python-自动化篇-运维-语音识别
  • ElasticSearch-ElasticSearch实战-仿京东商城搜索(高亮)
  • 解释 Python 中的描述符(Descriptor)是什么?如何在 Python 中实现一个简单的 ORM(对象关系映射)?
  • IP数据云识别真实IP与虚假流量案例
  • signalR+websocket:实现消息实时通讯——技能提升
  • 机器学习入门-----sklearn
  • 双非本科准备秋招(15.3)—— 力扣二叉树
  • 20240203在WIN10下使用GTX1080配置stable-diffusion-webui.git不支持float16精度出错的处理
  • 京东微前端框架MicroApp简介
  • SpringBoot 使用定时任务(SpringTask)
  • 国标GB/T 28181详解:设备视音频文件检索消息流程
  • openssl自签名CA根证书、服务端和客户端证书生成并模拟单向/双向证书验证
  • NIO Selector简介
  • 2023-12蓝桥杯STEMA考试 C++ 中高级试卷解析
  • 设计模式——2_1 命令(Command)
  • HP数组面试题
  • 机器学习5-线性回归之损失函数
  • vulhub中Adminer ElasticSearch 和 ClickHouse 错误页面SSRF漏洞复现(CVE-2021-21311)
  • 浅谈Zookeeper及windows下详细安装步骤
  • vite, vue3, vue-router, vuex, ES6学习日记
  • 25考研|660/880/1000/1800全年带刷计划
  • Mybatis基础教程及使用细节
  • 10 分钟在K8s 中部署轻量级日志系统 Loki
  • 图像处理python基础
  • 基于WordPress开发微信小程序2:决定开发一个wordpress主题
  • [Python] 什么是网格搜索以及scikit-learn中GridSearch类的介绍和使用案例?
  • Linux-正则表达式
  • Java基础学习:System类和Static方法的实际使用
  • 线性代数------矩阵的运算和逆矩阵