python数据分析之二、读取excel数据并绘制折线图,柱状图、饼状图

2023-12-13 09:27:35

今天开始第二篇,也是那位可爱的同学的期末作业
题目基本描述如下:给一个简单的execl表格数据,用并列折线图,并列柱状图和饼图来表现数据。

现给定表格数据如下:

地区人口数0-14岁5-64岁65岁及以上
全国14940542613671020258212419
北京231852807170783300
天津145411929102962315
河北78885151625195411769
山西368635862259585043
内蒙古254183489184113518

实现代码如下:

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']

这里都是用的函数形式,因为那个可爱的同学还要给她的朋友借鉴,但是都不会照着代码抄,所以尽可能减少他们使用时的阻力。
通过调用函数得到结果,部分效果如下:

折线图效果图9柱状图效果图饼图效果图
饼图效果图2

备注:如果表格中第一行的值使用的是纯数字则不用在函数中加英文的双引号。

文章来源:https://blog.csdn.net/qq_40727897/article/details/134886930
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。