今天开始第二篇,也是那位可爱的同学的期末作业
题目基本描述如下:给一个简单的execl表格数据,用并列折线图,并列柱状图和饼图来表现数据。
现给定表格数据如下:
地区 | 人口数 | 0-14岁 | 5-64岁 | 65岁及以上 |
---|---|---|---|---|
全国 | 1494054 | 261367 | 1020258 | 212419 |
北京 | 23185 | 2807 | 17078 | 3300 |
天津 | 14541 | 1929 | 10296 | 2315 |
河北 | 78885 | 15162 | 51954 | 11769 |
山西 | 36863 | 5862 | 25958 | 5043 |
内蒙古 | 25418 | 3489 | 18411 | 3518 |
实现代码如下:
import pandas as pd
import seaborn as sns
import matplotlib as mpl
import matplotlib.pyplot as plt
s=pd.read_excel('《文件途径》.xlsx')
#折线图
def lineshow(xlabname,ydata=s):
xheader=ydata[xlabname]
sns.lineplot(data=ydata)
sns.lineplot(x=xheader,data=ydata)
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
#并列柱状图案
def plotshow(xlabname,data=s):
xheader=data[xlabname]
lenX=len(xheader)
x = range(0,lenX, 1)
data.plot(kind='bar')
plt.xticks(x,xheader,rotation=0)
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
#画饼图
def pieshow(xlabname,ydataname):
xheader=s[xlabname]
ydata=s[ydataname]
plt.pie(ydata,labels=xheader,shadow=True,autopct='%1.2f%%',pctdistance = 0.7)
plt.title(ydataname+"所占比例")
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
这里都是用的函数形式,因为那个可爱的同学还要给她的朋友借鉴,但是都不会照着代码抄,所以尽可能减少他们使用时的阻力。
通过调用函数得到结果,部分效果如下: