Python数据可视化之Excel气泡图
最终实现的效果如图:
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取****,电子书籍,以及课程的源代码!
QQ群:101677771
主要的步骤如下:
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') #显示图片 12345678910111213141516171819202122232425262728293031323334353637383940
其中,excel表格中的数据大致长这个样子:
因为代码是根据D列的值显示气泡大小,所以对该列的数值需要根据需要合理地设置,既要考虑它是否真实地代表了数据间的相对性,也要看是否和生成的图片(即横纵坐标的值)契合,有时需要多试几次。