matplotlib---气泡图

气泡图简介:

气泡图(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 snsiris = load_iris() # 这里,从sklearn库中加载鸢尾花数据集 获得的数据集是一个列表,其中有两列,一列是鸢尾花的特征,一列是鸢尾花的种类x = iris.data  # 鸢尾花的特征数据,其中包含多列数据
y = iris.target # 鸢尾花的种类,仅一列数据data = pd.DataFrame(x,columns=iris.feature_names)
data['Target'] = y #值为 0,1,2plt.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.mzph.cn/diannao/16930.shtml

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

相关文章

太狠了,凌晨5点面试。。

(关注数据结构和算法,了解更多新知识) 网上看到一网友发文说收到面试邀请,面试时间竟然是早晨5点,这是要猝死的节奏。有的网友说应该是下午 5 点,如果是下午 5 点直接写下午 5 点就行了,或者写 17 点也行,直…

[企业级高效系统工具]短视频矩阵系统 ,一站式管理新媒体账号,短视频精准获客,一键管理上千个短视频账。

一、做项目为什么要搭建一款属于自己的系统? 在讲这个短视频矩阵系统前,我们聊聊做项目的时候为什么要搭建一款属于自己的系统。 1.拥有自己的系统,就意味着你可以随时随地进行源码部署和更新。你的项目就能紧跟时代潮流,始终保持…

具身人工智能:人工智能机器人如何感知世界

什么是具身人工智能 虽然近年来机器人在智能城市、工厂和家庭中大量出现,但我们大部分时间都在与由传统手工算法控制的机器人互动。这些机器人的目标很狭隘,很少从周围环境中学习。相比之下,能够与物理环境互动并从中学习的人工智能 (AI) 代理(机器人、虚拟助手或其他智能系…

强化学习——学习笔记

一、什么是强化学习? 强化学习 (Reinforcement Learning, RL) 是一种通过与环境交互来学习决策策略的机器学习方法。它的核心思想是让智能体 (Agent) 在执行动作 (Action)、观察环境 (Environment) 反馈的状态 (State) 和奖励 (Reward) 的过程中,学习到…

单片机方案开发个性定制

酷得智能是玩具企业合作方案商,致力于为玩具企业提供一站式的智能化解决方案。我们拥有丰富的行业经验和技术实力,能够根据客户的需求和市场趋势,为其量身定制最适合的智能玩具产品和解决方案。 主营业务: 东莞市酷得智能科技有限…

Sping源码(九)—— Bean的初始化(非懒加载)— ConversionService

序言 经过前面一系列的加载、解析等准备工作,此刻refresh方法的执行已经来到了尾声,接下来我们用几篇文章着重的介绍一下Bean的初始化 代码 着重看refresh()主流程中的finishBeanFactoryInitialization()方法。 finishBeanFactoryInitialization 方法…

JAVA开发 利用代码生成奖状

通过java实现用模板生成奖状 1、图片模板2、实现代码3、生成模板 1、图片模板 2、实现代码 import javax.imageio.ImageIO; import java.awt.*; import java.awt.font.TextAttribute; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;…

三坐标测量机在汽车零部件质量控制中的应用

高质量的零部件能够确保汽车的性能达到设计标准,包括动力性能、燃油效率、操控稳定性等,从而提供更好的驾驶体验,建立消费者对汽车品牌的信任;也推动了汽车行业的技术创新,制造商不断研发新材料、新工艺,以…

Java 登录错误次数限制,用户禁登1小时

手机号验证码登录,验证码输入错误次数超5次封禁 Overridepublic boolean checkCaptcha(String phoneNum, String captcha) {String codeNum (String) redisTemplate.opsForValue().get(UserCacheNames.USER_CAPTCHA phoneNum);if (codeNum null) {throw new Wan…

怎么图片转excel表格免费?介绍三个方法

怎么图片转excel表格免费?在日常工作中,我们经常需要将图片中的表格数据转化为可编辑的Excel格式。幸运的是,市面上有多款软件支持这一功能,并且部分软件还提供免费使用的选项。本文将为您详细介绍几款可以免费将图片转换为Excel表…

Java 异步编程——Java内置线程调度器(Executor 框架)

文章目录 Java多线程的两级调度模型Executor 框架Executor 框架的组成概念Executor 框架中任务执行的两个阶段:任务提交和任务执行 在 Java1.5 以前,开发者必须手动实现自己的线程池;从 Java1.5 开始,Java 内部提供了线程池。 在J…

Python代码:十九、列表的长度

1、题目 描述: 牛牛学会了使用list函数与split函数将输入的连续字符串封装成列表,你能够帮他使用len函数统计一些公输入了多少字符串,列表中有多少元素吗? 输入描述: 输入一行多个字符串,字符串之间通过…

基于Java+SpringBoot+Mybaties-plus+Vue+elememt + uniapp 驾校预约平台 的设计与实现

一.项目介绍 系统角色:管理员、教练、学员 小程序(仅限于学员注册、登录): 查看管理员发布的公告信息 查看管理员发布的驾校信息 查看所有教练信息、预约(需教练审核)、评论、收藏喜欢的教练 查看管理员发布的考试信息、预约考试(需管理…

流媒体内网穿透/组网/视频协议转换EasyNTS上云网关如何更改密码?

EasyNTS上云网关的主要作用是解决异地视频共享/组网/上云的需求,网页对域名进行添加映射时,添加成功后会生成一个外网访问地址,在浏览器中输入外网访问地址,即可查看内网应用。无需开放端口,EasyNTS上云网关平台会向Ea…

【linux】深入了解线程池:基本概念与代码实例(C++)

文章目录 1. 前言1.1 概念1.2 应用场景1.3 线程池的种类1.4 线程池的通常组成 2. 代码示例2.1 log.hpp2.2 lockGuard.hpp① pthread_mutex_t 2.3 Task.hpp2.4 thread.hpp2.5 threadPool.hpp① 基本框架② 成员变量③ 构造函数④ 其余功能函数: main.cc结果演示 完整…

动态规划-似包非包问题

组合总和 Ⅳ(377) 题目描述: 状态表示: 我们看到这题发现有一个限制条件就是目标整数target并且此时数组中的数字是可以重复选择的,这时候不难联想到前面学习的完全背包问题,这题好像符合完全背包问题的…

关于linux磁盘告警问题

案例:我们在执行df命令时,查看到磁盘利用率很高,但是到相对应的目录执行du -sh *来找大文件时进行删除时,发现各个目录相加并不大,如下图: 使用df命令查看到根(/)目录使用到33G,而du命令显示只使…

FuTalk设计周刊-Vol.050

#AI漫谈 热点捕手 1.Canva 宣布收购 Affinity 创意套件 平面设计平台 Canva 于 3 月 26 日宣布收购知名设计软件 Affinity 以“迎战”Adobe,不过此后许多设计师开始担心原本采用“永久授权”付费方案的 Affinity 系列软件是否会转为订阅制,而目前 Canv…

Android Studio开发之路(十四)自定义Titlebar以及设置顶部状态栏颜色

一、描述 项目需求,我要做一个下图这样的titlebar,包括一个返回按钮,一个关闭按钮,一个文本框。默认的titlebar按钮设计不太满足我的需求,于是我打算自定义一个titlebar组件,应用到我的每一个页面 二、titlebar组件设…

【NumPy】关于numpy.searchsorted()函数,看这一篇文章就够了

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…