Matplotlib数据可视化综合应用图形配置
- 第1关 配置颜色条
- 第2关 设置注释
- 第3关 自定义坐标刻度
- 第4关 配置文件与样式表
第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 *********#
第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 *********#
第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 *********#
第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 *********#