头歌Python实训

您所在的位置:网站首页 创建一个饼图根据分类汇总 头歌Python实训

头歌Python实训

2024-06-10 16:41| 来源: 网络整理| 查看: 265

第1关:各省gdp的和生成条状图 任务描述

各省GDP的excel文件如图所示

GDP数据图片

编写一个程序,计算每年各省GDP信息的和,生成条状图显示 要求窗口大小10,10,图表标题为GDP条状图

GDP条现状图

相关知识

为了完成本关任务,你需要掌握: 1.数据汇总 2.matplotlib库的使用 3.如何建立条状图 4.设置图表参数

Dataframe数据汇总

dataframe对象的Groupby可以根据一个或多个键对DataFrame计算分组摘要统计,count计数、sum求和、mean平均值、std标准差 例如,要将df对象数据按教师列汇总求学生的个数 df.groupby(["教师"])["学号"].count()

matplotlib库的使用

导入pyplot import matplotlib.pyplot as plt

在图表中显示中文 为了正确显示中文字体,请用以下代码更改默认设置,其中'SimHei'表示黑体字。

import matplotlib matplotlib.rcParams['font.family']='SimHei' matplotlib.rcParams['font.sans-serif'] = ['SimHei']

plt 库的显示函数 使用figure()函数创建一个全局绘图区域,并且使它成为当前的绘图对象, figsize参数可以指定绘图区域的宽度和高度,单位为英寸。 例如 plt.figure(figsize=(8,4)) 建立一个8英寸长4英寸宽的窗口

建立条形图 bar(x, height, alpha=1, width, color=, edgecolor=, label=, linewidth)

参数: x:x轴的位置序列,一般采用arange函数产生一个序列; height:y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据; alpha:透明度 width:为柱形图的宽度 color:柱形图填充的颜色; edgecolor:图形边缘颜色 label:解释每个图像代表的含义 linewidth :边缘线的宽度

import matplotlib import matplotlib.pyplot as plt x=["mary","mike","harry","tom","jerry","rose"] y=[84.12,91.83,79.89,60.19,96.83,75.09] #设置y轴的值 plt.bar(x,height=y,width=0.5, color='b') #根据x和y绘制条形,条形宽度0.5,颜色蓝色 plt.show() 设置图表参数

plt.xlim(xmin,xmax) 设置当前x轴取值范围 plt.ylim(xmin,xmax) 设置当前y轴取值范围 plt.xlabel(s) 设置当前x轴的标签 plt.ylabel(s) 设置当前y轴的标签 plt.title() 设置标题

代码内容 import pandas import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt matplotlib.rcParams['font.family']='SimHei' matplotlib.rcParams['font.sans-serif'] = ['SimHei'] data=pandas.read_excel("test/各省GDP.xlsx",dtype={"年份":str}) #代码开始 x = data.groupby(["年份"])["GDP"].sum() fig = plt.figure(figsize=(10, 10)) plt.bar(x.index, x) plt.title('GDP条状图') plt.show() #代码结束 plt.savefig("image1/gdptxt.jpg") 第2关:各省银行数量绘制饼图 任务描述

银行分布excel文件如图所示

银行信息

编写一个程序,将银行信息按省份对银行编号进行汇总 生成饼图显示各省银行的个数 要求绘图窗口为10,10 标题为银行省份分布图 饼图外侧显示省份的前2个字

银行饼图图片

相关知识 绘制饼图

pie(x, explode=None, labels=None,colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'),   

autopct=None, shadow=False,labeldistance=1.1, radius=None)

参数: x      (每一块)的比例,如果sum(x) > 1会使用sum(x)归一化

labels  (每一块)饼图外侧显示的说明文字

explode (每一块)离开中心距离 s

tartangle  起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起

shadow  是否阴影

labeldistance label绘制位置,相对于半径的比例, 如



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3