博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python数据可视化之气泡图(图文并茂详细版!!!)
阅读量:3961 次
发布时间:2019-05-24

本文共 2080 字,大约阅读时间需要 6 分钟。

Python数据可视化之气泡图

数据获取

       •绘制气泡所需的数据与之前散点图的数据是一样的,都是美国中西部地区人口分布详情数据集,需要数据的可通过下面博客获取:

       •上述数据集中包含很多常用的数据集,可供我们平时数据分析使用,非常实用!!!
在这里插入图片描述

数据分析

与散点图对比

       •用上述数据绘制的散点图如下:

在这里插入图片描述
       •散点图仅仅反映了横,纵坐标之间的关系,没有真实的反映出点与点不同性质之间的差异,不方便我们对比点与点之间的对应关系
       •此时我们就需要气泡图:气泡图允许在图表中额外加入一个表示大小的变量进行点与点对比

绘制气泡图

确定需要对比的属性

       •绘制流程和散点图相似,导入数据,确定横纵坐标,不同点:需要确定一个特征性质,进行点与点之间的属性对比

在这里插入图片描述

       •我们选择所有特征中的’‘亚洲人口’'作为我们需要对比的属性进行绘图

代码测试:

import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport seaborn as sns# 导入数据midwest = pd.read_csv(r'D:\9\midwest_filter.csv')# 预设图像各种信息large = 22med = 16small = 12params = {
'axes.titlesize': large, # 子图上的标题字体大小 'legend.fontsize': med, # 图例的字体大小 'figure.figsize': (med, small), # 画布大小 'axes.labelsize': med, # 标签的字体大小 'xtick.labelsize': med, # x轴标尺的字体大小 'ytick.labelsize': med, # y轴标尺的字体大小 'figure.titlesize': large} # 整个画布的标题字体大小plt.rcParams.update(params) # 设定各种默认属性plt.style.use('seaborn-whitegrid') # 设置整体风格sns.set_style('white') # 设置整体背景风格# 准备标签列表与颜色列表categories = np.unique(midwest['category'])colors = [plt.cm.tab10(i / float(len(categories) - 1)) for i in range(len(categories))]# 布置画布fig = plt.figure(figsize=(14, 8), dpi=120, facecolor='w', edgecolor='k')for i, category in enumerate(categories): plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category == category, :] , s=midwest.loc[midwest.category == category, 'percasian'] * 500 # 需要对比的属性 , c=np.array(colors[i]).reshape(1, -1) # 点的颜色 , edgecolors=np.array(colors[i]).reshape(1, -1) # 点的边缘颜色 , label=str(category) # 标签 , alpha=0.7 # 透明度 , linewidths=.5) # 点的边缘线的宽度# 装饰图像plt.gca().set(xlim=(0.0, 0.12), ylim=(0, 90000), xlabel='Area', ylabel='Population')plt.xticks(fontsize=12)plt.yticks(fontsize=12)plt.title('Bubble Plot Encircling', fontsize=22)lgnd = plt.legend(fontsize=12)plt.show() # 显示图像

       •上述代码与散点图不同的只有一行: s=midwest.loc[midwest.category == category, ‘percasian’] * 500 # 需要对比的属性

选取亚洲人口作为对比属性,使用循环,切片取出属性的值
在这里插入图片描述
       •上述图片中的点的大小代表该城市亚洲人口的多少,并与我们的散点图进行联系

转载地址:http://lyrzi.baihongyu.com/

你可能感兴趣的文章
编写跨平台Java程序注意事项
查看>>
富人和穷人的12个经典差异
查看>>
java 注意事项[教学]
查看>>
MetaWeblogAPI测试
查看>>
软件配置管理概念-1,介绍
查看>>
软件配置管理概念-2,用户角色
查看>>
软件配置管理概念-3,CM系统的概念
查看>>
JSP/Servlet应用程序优化八法
查看>>
人生必修的181条佛理
查看>>
The Most Widely Used Java Libraries
查看>>
简单在单机使用apache-james(开源邮件服务器)
查看>>
lsof 快速起步
查看>>
跨平台Java程序注意事项
查看>>
Python字符与数字的相互转换
查看>>
C 指针解读
查看>>
有关乱码的处理---中国程序员永远无法避免的话题
查看>>
JSP的运行内幕
查看>>
python超简单的web服务器
查看>>
代理模式、静态代理、动态代理、aop
查看>>
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00
查看>>