• Matplotlib数据可视化综合应用Matplotlib图形配置在线闯关_头歌实践教学平台


    第1关 配置颜色条

    任务描述
    本关任务:使用colorbar绘制一个热成像图。

    编程要求
    在右侧编辑器Begin-End处补充代码,根据输入数据绘制热成像图并隐藏坐标轴,具体要求如下:

    • 图形的figsize为(10, 10);
    • 图形保存到Task1/img/T1.png。

    测试说明
    平台会对你编写的代码进行测试:
    预期输出:你的答案与正确答案一致
    开始你的任务吧,祝你成功!

    import matplotlib
    matplotlib.use("Agg")
    import matplotlib.pyplot as plt
    import numpy as np
    
    def student(data):
        # ********* Begin *********#
        plt.figure(figsize=(10,10))
        plt.imshow(data,cmap='hot')
        plt.colorbar()
        plt.savefig('Task1/img/T1.png')
        plt.show()
    
        # ********* End *********#
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    第2关 设置注释

    任务描述
    本关任务:掌握matplotlib设置注释的几种方法和文字坐标变换,并能够应用到图形中。

    编程要求
    在右侧编辑器补充代码,根据函数参数file_name读取文件,统计每年births的总和并作折线图,为最高/最低出生数年份设置注释,具体要求如下:

    • 对数据进行去空值处理;
    • 注释文字的坐标位置为被注释的坐标点减5;
    • 折线图的figsize为(10, 10);
    • 图形需保存到Task2/img2/T5.png。

    测试说明
    平台会对你编写的代码进行测试:
    测试输入:Task2/births.csv
    预期输出:你的答案与正确答案一致
    开始你的任务吧,祝你成功!

    import matplotlib
    matplotlib.use('Agg')
    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    import warnings
    warnings.filterwarnings("ignore")
    import matplotlib as mpl
    def student(file_name):
        # ********* Begin *********#
        fig = plt.figure(figsize=(10,10))
        data = pd.read_csv(file_name)
        data = data.dropna(axis=0,how='any')  
        data = data.groupby(['year'])[['births']].sum()
        plt.plot(data.index,data.values)
        dic = data.to_dict()
        dic = dic['births']
        maxx=max(dic,key=dic.get)
        minn=min(dic,key=dic.get)
        plt.annotate('max', xy=(maxx,dic[maxx]), xytext=(maxx-5,dic[maxx]-5), arrowprops=dict(facecolor='black', shrink=0.05))
        plt.annotate('min', xy=(minn,dic[minn]), xytext=(minn-5,dic[minn]-5), arrowprops=dict(facecolor='black', shrink=0.05))
        plt.savefig('Task2/img2/T5.png')
    
    
        # ********* End *********#
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    第3关 自定义坐标刻度

    任务描述
    本关任务:掌握如何将坐标轴刻度调整为需要的位置与格式。

    编程要求
    在右侧编辑器补充代码,根据file_path读取文件,统计不同二级类的数量做折线图并旋转x坐标轴90度,具体要求如下:

    • 图形的figsize为(10, 10);
    • 图形需保存到Task3/img/T1.png。

    数据内容如下:
    在这里插入图片描述
    测试说明
    平台会对你编写的代码进行测试:
    测试输入:Task3/fj1.csv
    预期输出:你的答案与正确答案一致
    开始你的任务吧,祝你成功!

    import matplotlib
    matplotlib.use("Agg")
    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    plt.rcParams['font.sans-serif']=['simhei']
    plt.rcParams['font.family']='sans-serif'
    plt.rcParams['axes.unicode_minus']=False
    
    def student(file_path):
    
        # ********* Begin *********#
        plt.figure(figsize=(10,10))
        data=pd.read_csv(file_path)
        a=data.groupby(["二级类"])["二级类"].count()
        plt.plot(a)
        plt.xticks(rotation=90)
        plt.savefig("Task3/img/T1.png")
        plt.show()
    
        # ********* End *********#
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    第4关 配置文件与样式表

    任务描述
    本关任务:掌握手动配置图形和修改默认配置,能够修改样式表。

    编程要求
    在右侧编辑器补充代码,根据输入数据绘制直方图调整直方图颜色为红色透明度0.7为,并设置组合样式classic和bmh,具体要求如下:

    • 折线图的figsize为(10, 10)
    • 图形需保存到Task4/img/T1.png

    测试说明
    平台会对你编写的代码进行测试:
    预期输出:你的答案与正确答案一致
    开始你的任务吧,祝你成功!

    import matplotlib
    matplotlib.use("Agg")
    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    
    def student(input_data):
        # ********* Begin *********#
        plt.figure(figsize=(10,10))
        plt.style.use(["classic","bmh"])
        plt.hist(input_data,facecolor="red",alpha=0.7)
        plt.savefig("Task4/img/T1.png")
        plt.show()
        # ********* End *********#
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    简易实现QT中的virtualkeyboard及问题总结
    【MySQL】 MySQL 8.0 新特性之原子 DDL
    【Qt之控件QTreeView】设置单元格高度、设置图标尺寸
    【网络】UDP和TCP套接字编程
    Linux基础篇(6)---》常用命令大全(网络命令+关机重启命令)
    优思学院|推行精益六西格玛困难重重?7大原因分析助你避坑
    设计模式-结构型模式
    (附源码)ssm跨平台教学系统 毕业设计 280843
    JDBC的初步认识
    Unreal基础概念
  • 原文地址:https://blog.csdn.net/xks18232047575/article/details/134342047