使用Python制作彩色气泡图

最终实现的效果如图:
使用Python制作彩色气泡图_第1张图片

主要的步骤如下:
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表格中的数据大致长这个样子:
使用Python制作彩色气泡图_第2张图片
因为代码是根据D列的值显示气泡大小,所以对该列的数值需要根据需要合理地设置,既要考虑它是否真实地代表了数据间的相对性,也要看是否和生成的图片(即横纵坐标的值)契合,有时需要多试几次。

你可能感兴趣的:(实用小技能,数据可视化,python,excel)