Python、R绘制多彩气泡图

news/2025/2/12 15:19:22/

Python、R绘制多彩气泡图

在工作中面对这么一个问题,使用软件实现二维气泡图,需要在每个气泡加上标签等信息。搜了一圈,关于此类的文章较少,故写篇总结,和大家一起探讨使用。

这里从网上随便找到一个数据集进行制作。

实现的气泡图为 x轴为temperature,y轴为rainfall,气泡大小为yield。
在这里插入图片描述

Python实现气泡图

下面展示实现的python代码。

import pandas as pd
import numpy as np
import matplotlib as mpl
from matplotlib import cm
import matplotlib.pyplot as plt
import seaborn as snsdata_1 = pd.read_csv('./product.csv')
data_1.head()#确定 product 种类个数
cate_count = np.unique(data_1['product_lable'])#根据 product 种类个数,确定色带颜色
#这里用到了列表生成式
colors = [plt.cm.tab10(i/float(len(cate_count)-1)) for i in range(len(cate_count))]#生成画布
#dpi 参数表示清晰度
fig = plt.figure(figsize=(10,8), dpi=120)
#开始循环作图
for i, product_lable in enumerate(cate_count):plt.scatter('temperature','rainfall', data=data_1.loc[data_1.product_lable == product_lable,:]#根据 yield 确定气泡大小。, s = 'yield'#使用颜色,由于参数 c 接受一维数组,所以需要转化,否则会出警告, c= np.array(colors[i]).reshape(1,-1)#直接使用循环的 product 遍历的值作为本次循环的标签, label=str(product_lable)#将散点边缘颜色改成本次循环的颜色,否则默认是黑边, edgecolors = np.array(colors[i]).reshape(1,-1)#调整散点透明度, alpha = 0.65)
plt.legend(markerscale=0.2,bbox_to_anchor=(1.05, 0), loc=3, borderaxespad=0)
plt.xlabel('temperature')
plt.ylabel('rainfall')
plt.show()

即可实现下述图形。自己实现的时候只需修改自己的数据集即可。
在这里插入图片描述

R实现气泡图

下面展示实现的R语言代码。

data1 = read.csv('./product.csv')
# 软件包须自己install.packages
library(ggrepel)
library(hrbrthemes)
library(viridis)
library(ggridges) 
library(tidyverse)ggplot(data1,aes(x=temperature, y=rainfall, size=yield, fill=product_lable)) +          geom_point(alpha=0.5, shape=21, color="black") +          scale_size(range = c(10,24), name="yield") +          geom_text_repel(label = product_lable,size=5)+         scale_fill_viridis(discrete=TRUE, guide=FALSE, option="A") +          theme_ipsum() +         theme(legend.position="bottom") +          ylab("rainfall") +         xlab("temperature") +         theme(legend.position = "none")

即可实现下述图形。自己实现的时候只需修改自己的数据集即可。

在这里插入图片描述


http://www.ppmy.cn/news/558760.html

相关文章

【案例 4-3】多彩的声音

【案例介绍】 运行结果: 【案例目标】 学会分析“发声接口程序设计”实现的逻辑思路。能够独立完成“发声接口程序设计”的源代码编写、编译及运行。掌握接口的实现方式。 【案例分析】 (1)通过任务的描述可知,此程序包含了一…

【4-3】多彩的声音

设计和实现一-个Soundable发声接口,该接口具有发声功能,同时还能调节声音大小。Soundable接口的这些功能将由有3种声音设备来实现,他们分别是收音机Radio、随身听Walkman、手机MobilePhone.最后还需设计--个应用程序类来使用这些实现Soundabl…

互联网产品 | 多彩投

言必行,行必果。 2019计划进行中... 多彩投,是一款投资类APP,偏向店铺投资,标的集中在酒店、民宿、公寓。 变革家,做的业务也是店铺投资,标的集中在大型综合体中的消费零售,水饺、珠宝、眼镜、…

MATLAB 色图函数绘制多彩图形

MATLAB 色图函数绘制多彩图形 笔者在做SIR模型的时候,需要绘制多条线于同一图像上对比不同参数的影响,因而用到了色图函数 直入主题 先上色图的参考文档 这是完整的SIR模型的绘图 在 曲线较少 的时候可以用 cool 来绘制(因为cool里面的颜色…

多彩m618plus评测_人体工学利器——多彩第五代有线垂直鼠标 M618Plus RGB版测评

随着科技不断发展,人体工学被越来越多的人重视起来。还记得多年前很少听说人体工学这个抽象概念,而如今很多品牌及相关产品的问世也让其进入了大众谈论的焦点。前不久科技新闻还介绍了一款人体工学键盘众筹的火爆程度让无数网友惊讶,而现在又…

2022年,教你跳过验证快速创建Google账户!

⚠️:亲测有效! 1、保证手机有电、保证拥有自己的TZ、保证手机有Google环境 2、登上TZ,最好是US,不建议HK 3、下载Gmail软件,找到设置并打开,选择「添加账号」 4、选择「Google」 5、选择「为我自己创…

谷歌Gmail注册方法

目前注册Gmail的最新方法,简单快捷。亲测可用 --------更新于2019年10月31日 一、手机下载app:QQ邮箱 二、选择创建账户:Gmail 三、点击左下角的创建账号 四、接下来按需输入相关信息即可 五、最后一步,输入手机号验证的时…

创建谷歌账号

发现用手机上的谷歌服务可以申请到谷歌账号,以前一直没成功。不知道是不是这个原因,或许是换一个加速器的缘故。