Seaborn数据可视化综合应用Basemap和Seaborn
第1关 Seaborn
任务描述
本关任务:编写一个绘制每个月销售总额的折线图。
编程要求
本关的编程任务是补全右侧上部代码编辑区内的相应代码,根据输入文件路径读取文件,统计各个月销售总和,然后绘制折线图,需要应用seaborn设置默认样式,具体可视化要求如下:
- 折线图的figsize为(10, 10);
- 文件名为Task1/img/T1.png;
- 具体要求请参见后续测试样例。
文件的部分数据如下:
提示:在绘制折线图时,需要对数据进行预处理,通过支付时间提取月份信息,再根据月份信息进行聚类,汇总每个月的实际金额,得到月销售总和。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!
测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:
无测试输入
预期输出:
生成图片与预期图片一致
开始你的任务吧,祝你成功!
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
def student(input_data):
# ********* Begin *********#
sns.set()
plt.figure(figsize=(10,10))
a=pd.read_csv(input_data)
a["month"]=a["支付时间"].map(lambda x:int(x.split("/")[1]))
d=a["实际金额"].groupby(a["month"]).sum()
d=d.sort_index(ascending=False)
plt.plot(d)
plt.savefig("Task1/img/T1.png")
plt.show()
# ********* End *********#
第2关 Seaborn图形介绍
任务描述
本关任务:编写一个使用Seaborn来绘制散点图的程序。
编程要求
本关的编程任务是补全右侧上部代码编辑区内的相应代码,根据输入的文件路径读取文件并使用factorplot绘制关于smoker字段的条形图以统计吸烟和不吸烟的人数,具体可视化要求如下:
- 设置Seaborn样式为white;
- 设置颜色为steelblue;
- 设置kind为count;
- 图形的figsize为(10, 10);
- 文件名为Task2/img/T1.png;
- 具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!
测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:
无测试输入
预期输出:
生成图片与预期图片一致
开始你的任务吧,祝你成功!
import matplotlib
matplotlib.use("Agg")
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings("ignore")
def student(file_path):
# ********* Begin *********#
plt.figure(figsize=(10,10))
tips=pd.read_csv(file_path)
with sns.axes_style('white'):
sns.factorplot('smoker',data=tips,kind='count',color='steelblue')
plt.savefig('Task2/img/T1.png')
plt.show()
# ********* End *********#
第3关 Basemap
任务描述
本关任务:以中国地图为背景绘制散点图。
编程要求
本关的编程任务是补全右侧上部代码编辑区内的相应代码,中国地图已经绘制好,只需要读取输入参数img_path作为绘图背景,x/y为散点图数据,需要设置散点图的参数为标记设置为o,大小为150,具体可视化要求如下:
- 图形的figsize为(10, 10);
- 图形保存到Task3/img/T1.png;
- 具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!
测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:
无测试输入
预期输出:
生产图片与预期图片一致
开始你的任务吧,祝你成功!
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
from numpy import *
def student(img_path,x,y):
# ********* Begin *********#
fig=plt.figure(figsize=(10,10))
img=plt.imread(img_path)
plt.imshow(img)
plt.scatter(x,y,marker='o',s=150)
plt.savefig('Task3/img/T1.png')
plt.show()
# ********* End *********#