为了账号安全,请及时绑定邮箱和手机立即绑定

Python可视化-气泡图

标签:
Python

气泡图类似散点图,也是表示XY轴坐标之间的变化关系,也可以像彩色散点图给点上色。

区别在于可以通过图中散点的大小来直观感受其所表示的数值大小。

一、数据文件准备


1、PeopleNumber.csv

  1. city,people,price  

  2. NJ ,823,3.19  

  3. XZ ,866,2.7  

  4. HA,487,2.51  

  5. YC,723,2.78  

  6. SQ,485,2.61  

  7. TZ,464,3.13  

  8. YZ,448,3.14  

  9. NT,730,2.69  

  10. LYG ,447,2.51  

  11. ZJ,318,3.15  

  12. WX,651,3.15  

  13. SZ,1061,3.15  

  14. CZ,470,3.15  


气泡图X轴和Y轴分别描绘人口与价格的关系,用不同颜色标识不同城市。

第一列是城市(缩写)索引,第二列是人口数值,第三列是价格数值。

csv文件本质上就是以逗号(,)分隔开的txt文件,所以用excel打开形式为:

二、导入模块包

可参考Windows下安装Python、matplotlib包 及相关
https://blog.csdn.net/mikasa3/article/details/78942650 

1、numpy

2、pandas

3、seaborn

4、matplotlib

三、完整代码

如下:

  1. import numpy as np    

  2. import pandas as pd  

  3. import seaborn as sns  

  4. import matplotlib.pyplot as plt  

  5. def DrawBubble(read_name):#气泡图  

  6.     sns.set(style = "whitegrid")#设置样式  

  7.     fp = pd.read_csv(read_name)#数据来源  

  8.     x = fp.people#X轴数据  

  9.     y = fp.price#Y轴数据  

  10.     z = fp.price#用来调整各个点的大小s  

  11.     cm = plt.cm.get_cmap('RdYlBu')  

  12.     fig,ax = plt.subplots(figsize = (12,10))  

  13.     #注意s离散化的方法,因为需要通过点的大小来直观感受其所表示的数值大小  

  14.     #我所使用的是当前点的数值减去集合中的最小值后+0.1再*1000  

  15.     #参数是X轴数据、Y轴数据、各个点的大小、各个点的颜色  

  16.     bubble = ax.scatter(x, y , s = (z - np.min(z) + 0.1) * 1000, c = z, cmap = cm, linewidth = 0.5, alpha = 0.5)  

  17.     ax.grid()  

  18.     fig.colorbar(bubble)  

  19.     ax.set_xlabel('people of cities', fontsize = 15)#X轴标签  

  20.     ax.set_ylabel('price of something', fontsize = 15)#Y轴标签  

  21.     plt.show()  

  22. if __name__=='__main__':  

  23.     DrawBubble("PeopleNumber.csv")#气泡图  

四、运行结果

1、气泡图


               

           

原文出处


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消