使用Python制作彩色气泡图

最终实现的效果如图:
在这里插入图片描述

主要的步骤如下:
1.从.xlsx文件中读出制图所需要的的数据
2.使用matplotlib库绘图并保存

完整代码如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Aug 26 21:54:42 2020

@author: Milk
"""

#import pandas as pd
import matplotlib.pyplot as plt
import xlrd

'''下面两行决定中文字体的显示'''
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

'''从excel中读数据'''
path="E:\\WordExcel\\表格.xlsx"
file=xlrd.open_workbook(path)
data=file.sheet_by_name('Sheet1')

colornum=data.col_values(1)  #横坐标,读Sheet1的第二列
colornum=list(map(int,colornum))  #从xlrd中读出的数据为浮点型,需要转为整型
wordsnum=data.col_values(2)   #纵坐标
wordsnum=list(map(int,wordsnum))
Fre=data.col_values(3)    #气泡大小
Fre=list(map(int,Fre))
Type=data.col_values(4)   #决定气泡颜色的类序号
Type=list(map(int,Type))

'''绘图'''
color=['white','violet','orange','blue','red']   #plt.scatter()函数中依据此设定颜色
size=Fre  #依据Fre决定气泡的大小
plt.scatter(colornum,wordsnum,color=[color[i] for i in Type],s=size,alpha=0.6)
plt.xlim(-10,800)
plt.ylim(-2000,700000)
plt.xlabel("颜色词数")  #设置横坐标标题
plt.ylabel("总字数")  #设置纵坐标标题

plt.show()  #保存图片
plt.savefig('./colorfre.png')  #显示图片

其中,excel表格中的数据大致长这个样子:
在这里插入图片描述
因为代码是根据D列的值显示气泡大小,所以对该列的数值需要根据需要合理地设置,既要考虑它是否真实地代表了数据间的相对性,也要看是否和生成的图片(即横纵坐标的值)契合,有时需要多试几次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值