ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据可视化教程作业打卡-第二回:艺术画笔见乾坤

2022-01-16 22:59:36  阅读:172  来源: 互联网

标签:set 20 第二回 color grey 可视化 fig ax 打卡


教程链接

https://github.com/datawhalechina/fantastic-matplotlib

第二回:艺术画笔见乾坤

思考题

  1. primitives 和 container的区别和联系是什么?
    primaitives是绘图元素;
    container是容器,存放绘图元素,自身也有一些属性;
  2. 四个容器的联系和区别是么?他们分别控制一张图表的哪些要素?
    Figure:顶层级,用来容纳子 Axes,一组具体绘图元素和画布(canvas)。 画板。
    Axes:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成。 子图。
    Axis:axes的下属层级,用于处理所有和坐标轴,网格有关的元素。 子图的坐标轴、网格
    Tick:axis的下属层级,用来处理所有和刻度有关的元素。 坐标轴的刻度。

绘图题

  1. 使用提供的drug数据集,画出下面折线图。PA加粗标黄,其他为灰色。
    图标题和横纵坐标轴标题,以及线的文本暂不做要求。

# 数据导入代码
# 导入包
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 导入数据集并转成方便作图的格式
Dataset = pd.read_csv('data/Drugs.csv')
group = Dataset.groupby(['YYYY','State']).agg('sum').reset_index()
df = group.pivot(index='YYYY', columns='State', values='DrugReports').reset_index()
df
State	YYYY	KY	OH	PA	VA	WV
0	2010	10453	19707	19814	8685	2890
1	2011	10289	20330	19987	6749	3271
2	2012	10722	23145	19959	7831	3376
3	2013	11148	26846	20409	11675	4046
4	2014	11081	30860	24904	9037	3280
5	2015	9865	37127	25651	8810	2571
6	2016	9093	42470	26164	10195	2548
7	2017	9394	46104	27894	10448	1614

# fig = plt.figure()
# ax = fig.add_subplot(111)

#上面两行更简洁的替代方法,获取到fig,以后可以做figure级别的调用,如fig.savefig('yourfilename.png')
fig, ax = plt.subplots()

colors = ['grey', 'grey', 'orange', 'grey', 'grey']
lws = [2, 2, 4, 2, 2]
ax.set_title(label="Evolution of PA vs other states", loc='left', color='orange')
ax.set_ylabel('DrugReports')
ax.grid()
for col, color, lw in zip(df.columns[1:], colors, lws):
    ax.plot(df['YYYY'], df[col], color=color, lw=lw)
    ax.annotate(col, (2017, df[col].iloc[-1]), fontsize=6)

在这里插入图片描述
2.分别用一组长方形柱和填充面积的方式模仿画出下图,函数 y = -1 * (x - 2) * (x - 8) +10 在区间[2,9]的积分面积

x = np.linspace(0, 10, 100)
y = -1 * (x -2) * (x - 8) + 10
fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.set_ylim(0, 20)
ax1.set_xticks(range(0, 12, 2))
ax1.plot(x, y, color='red')

ax2.set_ylim(0, 20)
ax2.set_xticks(range(0, 12, 2))
ax2.plot(x, y, color='red')

ax1.bar(x[20:], y[20:], alpha=0.5, width=0.04, color='grey', lw=0.05)
ax2.bar(x[20:], y[20:], alpha=0.5, width=0.1, color='grey', lw=0.05)

在这里插入图片描述

标签:set,20,第二回,color,grey,可视化,fig,ax,打卡
来源: https://blog.csdn.net/zhang35/article/details/122530091

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有