【几点收获】
1.了解了lines、patches(Rectangle、Polygon、Wedge)、collections、Images这些基本元素的画图方法。
2.对Figure、Axes、Axis、Tick等容器有了一个初步的认识。
3.在构建可视化图表时,也可以通过hist、bar等相应图形的封装,进行直接画图。
【思考题】primitives 和 container的区别和联系是什么,分别用于控制可视化图表中的哪些要素
二者的联系:primitives是在container中画图
二者的区别:
primitives作为基本元素,包含了日常画图中运用到的各类图像,如线性图line2D、矩形Rectangle、图像Images等
container作为容器,是用来装基本元素的,例如图形Figure、坐标系Axes、坐标轴Axis
二者分别控制:primitives是控制可视化图表中的具体内容,container控制的是可视化图标的标注等情况
【思考题】使用提供的drug数据集,对第一列yyyy和第二列state分组求和,画出下面折线图。PA加粗标黄,其他为灰色。图标题和横纵坐标轴标题,以及线的文本暂不做要求。
日后补一补,pandas库还没学。如何对csv文件进行处理求和还不明确,数据处理学习完后补。
【思考题】分别用一组长方形柱和填充面积的方式模仿画出下图,函数 y = -1 * (x - 2) * (x - 8) +10 在区间[2,9]的积分面积
x = np.linspace(0,10,100)
y = -1 * (x - 2) * (x - 8) + 10
x2 = np.arange(2,9,0.1)
y2 = -1 * (x2 - 2) * (x2 - 8) + 10
mpl.rc('lines',linewidth = 2,linestyle = '-.')
fig,ax = plt.subplots()
ax.plot(x,y,color = 'red')
ax.bar(x2,y2,width = 0.05,alpha = 1,color = 'gray')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title('Simple Plot')
ax.set_xlim(0)
ax.set_ylim(0)
plt.show()
x = np.linspace(0,10,100)
y = -1 * (x - 2) * (x - 8) + 10
x3 = np.linspace(2,9,100)
y3 = -1 * (x3 - 2) * (x3 - 8) + 10
mpl.rc('lines',linewidth = 2,linestyle = '-')
fig,ax = plt.subplots()
ax.plot(x,y,color = 'red')
ax.fill_between(x3,y3,0,color = 'gray')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title('Simple Plot')
ax.set_xlim(0)
ax.set_ylim(0)
plt.show()