第9章 绘图和可视化
9.1 matplotlib API入门
matplotlib的图像都位于Figure对象中,用plt.figure创建一个新的Figure
通过空Figure绘图,必须用add_subplot创建一个或多个subplot才行:
执行一条绘图命令,matplotlib会在最后一个用过的subplot(如果没有则创建一个)上进行绘制,隐藏创建figure和subplot的过程。
“k- -”是一个线型选项,用于告诉matplotlib绘制黑色虚线图。
plt.subplots用来创建一个新的Figure,并返回一个含有已创建的subplot对象的NumPy数组。
sharex和sharey指定subplot应该具有相同的X轴或Y轴。
利用Figure的subplots_adjust方法可以修改间距,它是一个顶级函数:
wspace和hspace用于控制宽度和高度的百分比,可以用作subplot之间的间距。
引用轴必须调用plt.legend或ax.legend来创建图例。
两种实现方式:1、使用过程型的pyplot接口(如matplotlib.pyplot)2、面向对象的原生matplotlib API。
xlim、xticks和xticklabels分别控制图表的范围、刻度位置、刻度标签等。
改变x轴刻度,用set_xticks和set_xticklabels方法,前者告诉matplotlib要将刻度放在数据范围中的哪些位置,set_xticklabels将任何其他的值用作标签。
添加图例是在添加subplot的时候传入label参数。
Python cumsum函数功能是返回给定axis上的累积和。
注解和文字可以通过text、arrow和annotate函数进行添加,text可以将文本绘制在图表的指定坐标(x,y)。
set_xlim和set_ylim人工设定起始和结束边界
创建一个块对象shp在图表中添加一个图形,然后通过ax.add_patch(shp)将其添加到subplot中。
利用plt.savefig将当前图表保存到文件
一种Python编程方式配置系统的方法是rc方法
9.2 使用panda和seaborn绘图
plot方法默认生成线型图,Series对象的索引会被传给matplotlib,并用以绘制x轴。可以通过use_index=False禁用该功能。
Series.plot方法的参数:
用于DataFrame的plot参数:
plot.bar()和plot.barh()分别绘制水平和垂直的柱状图
stacked=True即可为DataFrame生成堆积柱状图
seaborn的distplot方法绘制直方图和密度图
Seaborn的regplot做一个散布图,并加上一条线性回归的线
seaborn内置函数factorplot可以简化制作多种分面图: