头歌Python实训——matplotlib数据可视化

这篇具有很好参考价值的文章主要介绍了头歌Python实训——matplotlib数据可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第1关:各省gdp的和生成条状图

任务描述

各省GDP的excel文件如图所示

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

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

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

相关知识

为了完成本关任务,你需要掌握: 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文件如图所示

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

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

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

相关知识
绘制饼图

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绘制位置,相对于半径的比例, 如<1则绘制在饼图内侧

autopct 控制饼图内百分比设置,可以使用format字符串指小数点前后位数

radius  控制饼图半径

代码内容
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/银行信息.xlsx")
#代码开始
fig = plt.figure(figsize=(10, 10))
x = data.groupby(['省份'])['银行编号'].count()
plt.pie(x, labels= x.index.str[:2])
plt.title('银行省份分布图')
#代码结束
plt.savefig("image2/yhbt.jpg")

第3关:各类银行数量绘制折线图

任务描述

银行分布excel文件如图所示

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

编写一个程序,将银行信息按银行种类对银行编号进行汇总 生成折线图显示银行数量最高的十个银行 按银行种类个数的降序排列 要求绘图窗口为10,10 标题为银行种类折线图

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

折线图的绘制

折线图就是将多个(x,y)点连接起来,生成一个折线图。

plot([x], y, [fmt], data=None,**kwargs)

函数用于绘制一条折线图,x若省略,则plot函数自动创建从0开始的 x坐标;fmt是字符串类型,用于描述颜色标志线型属性的值,格式为:[color][marker][line]

代码内容
import pandas
import matplotlib
matplotlib.use("Agg")
import numpy as np
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
data=pandas.read_excel("test/银行信息.xlsx")
#代码开始
x = data.groupby(['银行种类'])['银行编号'].count()
fig = plt.figure(figsize=(10, 10))
x = x.sort_values(ascending=False)
x = x.head(10)
plt.plot(x.index, x)
plt.title('银行种类折线图')
#代码结束
plt.savefig("image3/yhzxt.jpg")

第4关:各日超市销售金额绘制折线图

任务描述

本关任务:根据统计数据工作簿的日期统计数据,建立折线图

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

相关知识

为了完成本关任务,你需要掌握:1.如何使用matplotlib生成图表,2.如何设置图表的参数。3.datetime的使用

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英寸宽的窗口

折线图的绘制

折线图就是将多个(x,y)点连接起来,生成一个折线图。 plot([x], y, [fmt], data=None,**kwargs)

函数用于绘制一条折线图,x若省略,则plot函数自动创建从0开始的 x坐标;fmt是字符串类型,用于描述颜色标志线型属性的值,格式为:'[color][marker][line]’;

设置图表参数

设置标题、轴标签和刻度标签

plt.xlim(xmin,xmax) 设置当前x轴取值范围

plt.ylim(xmin,xmax) 设置当前y轴取值范围

plt.xlabel(s) 设置当前x轴的标签

plt.ylabel(s) 设置当前y轴的标签

plt.title() 设置标题

plt.xticks(pd.date_range(起始日期,结束日期)) 设置x轴日期开始日期和结束日期

plt.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d')) 设置x轴日期格式

补充:pandas.date_range(start=None, end=None, periods=None, freq='D') 该函数主要用于生成一个固定频率的时间索引,在调用构造方法时,必须指定start、end、periods中的两个参数值,否则报错。 主要参数说明: periods:固定时期,取值为整数或None freq:日期偏移量,取值为string或DateOffset,默认为'D'

例:以下代码可以设置日期格式为年-月-日,设置x轴的取值范围为2021-1-1到2021-5-31日,在x轴垂直显示2021-1-1 到2021-5-31,

plt.gca().xaxis.set_major_formatter(datetime.date.DateFormatter('%Y-%m-%d'))
plt.xlim(datetime.date(2021,1,1),datetime.date(2021,5,31))
plt.xticks(pd.date_range('2021-1-1','2021-5-31'),rotation=90)
编程要求

根据提示,在右侧编辑器补充代码,根据统计数据工作簿的日期统计数据,建立折线图。

测试说明

平台会对你编写的代码进行测试: 产生的折线图如任务描述所示,x轴为日期,y轴为合计金额 图表窗口宽10高14 图表标题为日期销售 要求x轴设置标签为日期,范围为2000-5-20至2000-7-18,并显示日期 y轴设置标签为金额,范围为0到1800 提示:在绘制图形时日期标签需要垂直排列 设置rotation=90

代码内容
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
import datetime
df=pd.read_excel("tbsc/step1/统计数据.xlsx",sheet_name="日期统计")
#代码开始
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(10,14))
plt.title('日期销售')
plt.xlabel('日期')
plt.ylabel('金额')
plt.ylim(0, 1800)  # y宽度
plt.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d'))  # 日期格式
plt.xlim(datetime.date(2000,5,20), datetime.date(2000,7,18))  # 日期范围
plt.xticks(pd.date_range('2000-5-20', '2000-7-18'), rotation=90)  # 垂直显示日期 90
plt.plot(df['日期'].dt.date, df['合计金额'])
#代码结束
plt.savefig("image4/rqzxt.jpg")

第5关:四种类别的销售数量合计最高的三种商品绘制多个条形图

任务描述

本关任务:根据excel文件“类别销售”工作簿(tbsc/step2/类别销售.xlsx)的烟、零食、饮料、酒工作表的数据,找出销售数量合计最高的三种商品,建立条状图

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

相关知识

为了完成本关任务,你需要掌握:1.如何建立条状图,2.如何绘制子图。

建立条形图

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
import numpy as np
y=[84.12,81.83,79.89,78.19,76.83,75.09,74.58,73.71]
#设置y轴的值
sj=np.linspace(1,8,8)
#设置x轴的位置
plt.bar(x=sj, height=y,width=0.5, color='b')
#根据x和y绘制条形,条形宽度0.5,颜色蓝色
plt.show()
绘制子图

subplot(numRows, numCols, plotNum)

参数: 图表的整个绘图区域被分成 numRows 行和 numCols 列

然后按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1

plotNum 参数指定创建的 Axes 对象所在的区域

plt.subplot(2,2,1) 图表的整个绘图区域被分成2行和2列 选择左上区域作为当前的绘图区域

编程要求

根据提示,在右侧编辑器补充代码,按要求输出图形。 图形的宽度为10,高度为14 四个子图分别为烟,饮料,零食,酒四个类别的三种销量最高的商品的销售量 柱形的横轴坐标分别为0,0.5,1,每个柱形的宽度为0.2,图例为商品名称。 在每个柱形上标识使出数量的文字(高度比柱形高1) 每个子图的标题为商品类别,x轴分别标识1,2,3 每个子图需要显示图例

代码内容
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
#代码开始
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(10,14))
lb=["烟","饮料","零食","酒"]

count = 1
for x in lb:
    df=pd.read_excel("tbsc/step2/类别销售.xlsx",sheet_name=x)
    sj=df.groupby("商品名称")["数量"].sum()
    sj.sort_values(ascending=False,inplace=True)
    sj.index=sj.index.str.replace("\t","")  # 替换
    sp=sj[:3]  # 前三

    plt.subplot(2,2,count)  # 创建子图
    for i in range(0,3):
        plt.bar(x=i*0.5, height=sj[i],width=0.2,label=sj.index[i])
        plt.text(i*0.5,sj[i]+1,sj[i])
    count += 1
    plt.xticks([0,0.5,1],[1,2,3])
    plt.title(x)
    plt.legend()
#代码结束
plt.savefig("image5/lbzxt.jpg")

第6关:销售各类别数据绘制饼图

任务描述

本关任务:根据统计数据工作簿的类别统计数据,建立饼图。 将合计金额小于合计金额的平均值1/5的数据,统计到其他类别。

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

数据可视化头歌,头歌实训,python,matplotlib,信息可视化

相关知识

为了完成本关任务,你需要掌握:如何建立饼图

绘制饼图

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 (每一块)离开中心距离

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

shadow  是否阴影

labeldistance label绘制位置,相对于半径的比例, 如<1则绘制在饼图内侧

autopct 控制饼图内百分比设置,可以使用format字符串指小数点前后位数

radius  控制饼图半径

编程要求

根据提示,在右侧编辑器补充代码,生成如图所示饼图 饼图宽10高10 图表标签为合计金额大于等于合计金额的平均值1/5的类别,加上其他类别 饼图内按保留两位小数的形式显示百分比 图表标题为各类别销售分布文章来源地址https://www.toymoban.com/news/detail-774522.html

代码内容
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel("tbsc/step3/统计数据.xlsx",sheet_name="类别统计")
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
plt.figure(figsize=(10,10))
 
ds = df["合计金额"].mean()/5  # 1/5
df1 = df.loc[df["合计金额"]>=ds]
qthj=df.loc[df["合计金额"]<ds]["合计金额"].sum()
df1=df1.append({"类别":"其他","合计金额":qthj},ignore_index=True)  # 添加其他
plt.pie(df1["合计金额"],labels=df1["类别"],autopct="%0.2f%%")
plt.title('各类别销售分布')
#代码结束
plt.savefig("image6/lbbt.jpg")

到了这里,关于头歌Python实训——matplotlib数据可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Matplotlib:Python数据可视化的全面指南

    数据可视化是数据分析的一个重要方面,可以帮助我们有效地传达数据中的洞察和模式。Python提供了几个用于数据可视化的库,其中最突出和广泛使用的是Matplotlib。在本文中,我们将探索Matplotlib的基本概念和功能,并学习如何创建各种类型的图表和图形。 在深入了解Matplo

    2024年02月10日
    浏览(10)
  • Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

    Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

    Matplotlib是一个功能强大的数据可视化库,为数据科学家提供了丰富的工具和功能,可以以直观的方式呈现数据。 1. 基础 1.1 安装Matplotlib 在使用Matplotlib之前,请确保已经安装了Matplotlib库。可以使用以下命令进行安装: 1.2 创建第一个简单的图表 安装好Matplotlib后,让我们来创

    2024年01月21日
    浏览(16)
  • Python-数据可视化:matplotlib模块、pyecharts模块

    返回Python系列文章目录 matplotlib 是一个基于python 的绘图库,完全支持二维图像,有限支持三维图形,Matplotlib是python编程语言及其数据科学扩展包NumPy的可视化操作界面库。 matplotlib模块 导入方式 可参考文章:Python之数据可视化——matplotlib系统介绍 Echarts 是一个由百度开源的

    2024年02月08日
    浏览(43)
  • python数据可视化神库:Matplotlib快速入门

    python数据可视化神库:Matplotlib快速入门

    Matplotlib易于使用,是Python中了不起的可视化库。它建立在NumPy数组的基础上,旨在与更广泛的SciPy堆栈一起工作,并由几个图组成:线图、条形图、散点图、直方图等。 在上面的例子中,X和Y的元素提供了X轴和Y轴的坐标,并根据这些坐标绘制了一条直线。 Pyplot是一个Matplotli

    2023年04月27日
    浏览(10)
  • 【python】数据可视化——解决matplotlib显示中文乱码

    【python】数据可视化——解决matplotlib显示中文乱码

    D:anaconda3envstest1libtkinter_ init _.py:839: UserWarning: Glyph 31532 (N{CJK UNIFIED IDEOGRAPH-7B2C}) missing from current font. func(*args) D:anaconda3envstest1libtkinter_ init _.py:839: UserWarning: Glyph 19968 (N{CJK UNIFIED IDEOGRAPH-4E00}) missing from current font. func(*args) D:anaconda3envstest1libtkinter_ init _.py:839: UserWarnin

    2024年01月22日
    浏览(15)
  • Python Matplotlib数据可视化绘图之(一)————柱状图

    Python Matplotlib数据可视化绘图之(一)————柱状图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种柱状图的画法,包括整张图片只有一种颜色的不分组柱状图、整张图片有好几种颜色的不分组柱状图、整张图片有好几种颜色的分组柱状图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 语言种类

    2024年02月06日
    浏览(14)
  • Python Matplotlib数据可视化绘图之(二)————箱线图

    Python Matplotlib数据可视化绘图之(二)————箱线图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种箱线图的画法,包括整张图片只有一种颜色的不分组箱线图、整张图片有好几种颜色的不分组箱线图、整张图片有好几种颜色的分组箱线图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别 语文成

    2024年02月05日
    浏览(12)
  • Python Matplotlib数据可视化绘图之(三)————散点图

    Python Matplotlib数据可视化绘图之(三)————散点图

    文本 本文我们主要介绍利用Python中的Matplotlib模块进行几种散点图的画法,包括整张图片只有一种颜色的不分组散点图、整张图片有好几种颜色的不分组散点图、整张图片有好几种颜色的分组散点图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别

    2024年02月07日
    浏览(16)
  • Python数据可视化:如何使用Matplotlib创建漂亮的图表

    Python是一种易于学习的编程语言,很受数据科学家和分析师的青睐。Python的数据可视化库Matplotlib是一种用于创建图表的强大工具,可以帮助我们在数据分析中更好地理解和呈现数据。 在本文中,我们将介绍如何使用Matplotlib创建各种类型的图表,包括折线图、柱状图、散点图

    2024年02月10日
    浏览(15)
  • Matplotlib 是一个广泛用于 Python 数据可视化的库

    Matplotlib 是一个广泛用于 Python 数据可视化的库

    Matplotlib 是一个广泛用于 Python 数据可视化的库,它提供了丰富的绘图功能,允许用户创建各种类型的图表,从简单的折线图到复杂的三维图表,以及定制图形的各个方面。以下是Matplotlib的一些重要特点和常见用法: Matplotlib 的特点: 灵活性 :Matplotlib允许用户高度定制图形

    2024年02月07日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包