matplotlib---气泡图

news2024/9/22 7:26:10
气泡图简介:

气泡图(Bubble Chart)是一种数据可视化图形,主要用于展示多个数据点之间的关系。

气泡图通过气泡的大小,位置和颜色可以展示数据之间的关系。在气泡图中,横轴和纵轴通常表示数据的两个维度,而气泡的半径和位置则表示数据的值。

气泡图可在二维平面上展示多元数据间的关系。

下面以python中的鸢尾花数据集来展示,气泡图的绘制和对数据的展现

import matplotlib.pyplot as plt
import pandas as pd
from sklearn.datasets import load_iris
import numpy as np
import seaborn as sns

iris = load_iris() # 这里,从sklearn库中加载鸢尾花数据集 获得的数据集是一个列表,其中有两列,一列是鸢尾花的特征,一列是鸢尾花的种类

x = iris.data  # 鸢尾花的特征数据,其中包含多列数据
y = iris.target # 鸢尾花的种类,仅一列数据

data = pd.DataFrame(x,columns=iris.feature_names)
data['Target'] = y #值为 0,1,2



plt.figure(figsize=(15,10)) # 设置画幅的大小
plt.rcParams['font.sans-serif'] = ['SimHei']# 中文显示 设置字体为黑体

# 该部分为用参数c控制了气泡的颜色
# size = list(data["petal length (cm)"].astype(float)/0.002)  # petal length (cm)的特征以气泡大小来表现

# 生成气泡图,X轴为sepal length (cm),y轴为sepal width (cm)
# c 表示的颜色,不同鸢尾花种类颜色不一样,alpha 表示为透明度 0-1
# plt.scatter(data['sepal length (cm)'].astype(float),data['sepal width (cm)'].astype(float),c=data['Target'],alpha=0.6) 


以循环的方法控制气泡的颜色
# 设置3个颜色(RGB的方法)
colors = [(0.973, 0.902, 0.125),(0.122, 0.573, 0.545),(0.267, 0.16, 0.353)]
# enumerate()函数获取每个类别的索引和名称,使用colors列表指定每个类别的颜色
for i ,Target in enumerate(data['Target'].unique()):
    size = list(data[data['Target']==Target]['petal length (cm)'].astype(float)/0.002)
    plt.scatter(data[data['Target']==Target]['sepal length (cm)'].astype(float),data[data['Target']==Target]['sepal width (cm)'].astype(float),s=size,alpha=0.6,c=colors[i])


plt.xlabel('sepal length (cm)',fontsize=20)
plt.gca().xaxis.set_label_coords(0.5,-0.1)# 调整X轴标题与X轴的距离
plt.ylabel('sepal width (cm)',fontsize=20)
plt.gca().yaxis.set_label_coords(-0.08,0.5)# 调整y轴标题与y轴的距离



plt.title('气泡图',fontsize=30,pad=15)

plt.tick_params(labelsize=20)# 刻度字体大小 20

# 设置图例
# data["target"].unique():以鸢尾花的三个类别当作图例标签
# fontsize=5:设置图例字体大小为5 prop={'size': 15}`:设置图例字体大小为15,应用时,这两个参数作用类似,只设置一个即可
# loc='upper right':设置图例位置为右上角,loc参数可选如下:
# 'upper right':右上     'upper left' :左上     'lower left':左下       'lower right':右下
# 还可以通过bbox_to_anchor参数调整图例的位置:
bbox_to_anchor参数设置为(1.05, 1),表示图例的位于图形的右上角的某个位置。
# frameon = False去除图例边框,即不要图例的外边框。frameon = True绘制图例的外边框
# framealpha:控制图例的透明度
# handlelength=2:设置图例标记长度为2
# borderpad=1.5控制图例外边框的大小
# facecolor = ‘yellowgreen’ 设置边框填充色为黄绿色
# edgecolor = ‘whtie’ 设置图例边框的颜色为白色
# ncol = 3:横放,参数值为3,是因为图例中有三个标签值
legend =plt.legend(data['Target'].unique(),fontsize=5,loc='upper right',frameon = True,framealpha=0.5,handlelength=2,prop={'size':5},borderpad=1.5,facecolor='yellowgreen',edgecolor='white',ncol=3)

# 设置图例边框的宽度
legend.get_frame().set_linewidth(1)



# 调整matplotlib图例中的可视化图形大小和透明度
for handle in legend.legendHandles:
    handle.set_sizes([100])
    handle.set_alpha(0.6)

legend.set_title('图例')
# 设置图例字体大小
legend.get_title().set_fontsize(fontsize=10)

plt.show()

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

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

相关文章

【二分查找 位运算】3145. 大数组元素的乘积

本文涉及知识点 二分查找算法合集 位运算、状态压缩、枚举子集汇总 LeetCode3145. 大数组元素的乘积 一个整数 x 的 强数组 指的是满足和为 x 的二的幂的最短有序数组。比方说,11 的强数组为 [1, 2, 8] 。 我们将每一个正整数 i (即1,2&am…

揭秘订单排队模式:社交电商新策略

随着移动互联网的蓬勃发展,社交电商正以其独特的魅力席卷全球。据权威机构预测,到2024年,全球社交电商市场规模有望达到惊人的2.8万亿美元。面对如此庞大的市场蛋糕,如何精准把握机遇,实现业务的跨越式增长&#xff0c…

Java基础之面向对象练习

需求1: 代码呈现 商品类型 public class Goods {private String id;private String name;private double price;private int count;public Goods() {}public Goods(String id, String name, double price, int count) {this.id id;this.name name;this.price p…

真心分享:公司监控员工聊天记录的七种方法

公司为了让员工专注于工作,避免无关事情分心,比如无关的瞎聊天,会使用一些手段监控员工聊天,那么这些手段是什么呢?主要有以下几种。 1.使用专业监控软件: 如安企神软件、域智盾等,这些软件设计…

SwiftUI 5.0(iOS 17)进一步定制 TipKit 外观让撸码如虎添翼

概览 在之前 SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App 这篇博文里,我们已经初步介绍过了 TipKit 的基本知识。 现在,让我们来看看如何进一步利用 SwiftUI 对 TipKit 提供的细粒度外观定制技巧,让 Tip 更加“明眸…

Vapor Mode:Vue.js 的速度与激情,代码界的闪电侠

大家好,我是宝哥。 在快速发展的网络开发世界中,创新的Vue.js团队给我们带来了Vapor Mode。这个新模式优化了Vue的核心渲染过程,帮助我们的应用程序像轻烟一样运行,开发者无需深入复杂的优化工作。 在这篇文章中,我们将…

Windows:安装Win10、Win7系统常用的2种方式及相关问题处理

一、准备工作 1、U盘 首先,我们要准备一个8G左右大小的U盘 2、下载镜像文件 参考∶ 镜像文件下载及其检验方法 3、新机必备软件 建议安装之前,先把这些软件下载好。 360驱动大师、chrom浏览器、搜狗输入法、爱奇艺万能联播、Notepad、PDF、QQ、微信、…

re:记录下正则的使用方法

1、match pattern r(\d{4})[-\/](\d{1,2})[-\/](\d{1,2}) match re.search(pattern, text) if match:year, month, day match.groups()

音视频开发—音频相关概念:数模转换、PCM数据与WAV文件详解

文章目录 前言1.模拟数字转换(ADC)1.1ADC的关键步骤: 2.数字模拟转换(DAC)2.1DAC 的基本流程包括: 3.PCM数据3.1PCM 数据的关键要素包括: 4.WAV文件4.1 WAV的构成4.2WAV文件的标准块结构4.3WAV的…

Vue3学习使用axios和qs进行POST请求和响应处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、前言1.准备工作2.发送POST请求3.处理响应数据4.总结 一、前言 在前端开发中,经常需要与后端进行数据交互,其中包括发送POST请求并处理响…

Kubernetes核心组件Ingress详解

1.1 Ingress介绍 Kubernetes 集群中,服务(Service)是一种抽象,它定义了一种访问 Pod 的方式,无论这些 Pod 如何变化,服务都保持不变。服务可以被映射到一个静态的 IP 地址(ClusterIP&#xff09…

代码随想录算法训练营第36期DAY36

贪心好难&#xff0c;希望能坚持到柳暗花明那天。 DAY36 1005K次取反后最大化的数组和 自己的方法&#xff0c;注意越界条件放在最前面就好&#xff1a; class Solution {public: int largestSumAfterKNegations(vector<int>& nums, int k) { //自己的…

Kubernetes数据存储

1. 数据存储 容器的生命周期可能很短&#xff0c;会被频繁地创建和销毁。那么容器在销毁时&#xff0c;保存在容器中的数据也会被清除。这种结果对用户来说&#xff0c;在某些情况下是不乐意看到的。为了持久化保存容器的数据&#xff0c;kubernetes引入了Volume的概念。 Volu…

光纤跳纤,这篇文章值得一看

光纤跳线作为光网络布线最基础的元件之一&#xff0c;被广泛应用于光纤链路的搭建中。 如今&#xff0c;光纤制造商根据应用场景的不同推出众多类型的光纤跳线&#xff0c;如 MPO / LC / SC / FC / ST 光纤跳线&#xff0c;单工/双工光纤跳线&#xff0c;单模/多模光纤跳线等&…

【AD21】文件的整理

当所有文件输出完成后&#xff0c;需要对不同的文件去做一个整理&#xff0c;方便后续工作的交接。 在项目工程文件夹下新建名称为BOM、SMT、PRJ、Gerber和DOC的文件夹。 BOM文件夹存放BOM表发给采购人员。SMT文件夹存放装配图文件和坐标文件发给贴片厂。PRJ文件夹存放工程文件…

吉祥物IP如何通过惯性动作捕捉技术“复活”实时互动?

随着数字人技术的不断发展&#xff0c;惯性动作捕捉技术已经成为实现吉祥物IP实时互动的重要手段。通过惯性动作捕捉技术&#xff0c;吉祥物不仅能够以生动逼真的数字人形象出现在大众视野&#xff0c;还能够与观众进行实时互动&#xff0c;为品牌营销注入新的活力。 作为3D、…

新加坡裸机云多IP服务器与跨境外贸业务的适配性

在数字化时代&#xff0c;跨境外贸业务对服务器的需求愈发高标准化、多元化。新加坡裸机云多IP服务器&#xff0c;凭借其独特的优势&#xff0c;成为了跨境外贸等业务的首选。源库主机测评将为您科普新加坡裸机云多IP服务器如何满足跨境外贸等业务的需要。 首先&#xff0c;新加…

2024最新机器人相关基础技术总结(1)

机器人分类 功能分类&#xff1a;工业机器人&#xff0c;服务机器人&#xff0c;移动机器人&#xff08;AGV&#xff09; 机器人系统组成 组成部分&#xff1a;机器人本体、伺服电机、减速机、伺服驱动器、IO板、控制系统、其他电子元器件。 逐一分析&#xff1a; 本体 机…

拥有这几个3dMax插件,科研绘图让我省时又省力!

DNAChain&#xff08;一键生成DNA链&#xff09; 3DMAX一键生成DNA链插件DNAChain&#xff0c;沿着线条路径一键生成DNA链条&#xff0c;你可以用它创建非常有趣的图案和效果。 3dMax不仅在影视动画、建筑室内、环境艺术等领域应用广泛&#xff0c;同样&#xff0c;它在科研绘图…