《利用Python进行数据分析》学习笔记 第9章 绘图和可视化
第9章 绘图和可视化
9.1 matplotlib API入门
- Figure和Subplot
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轴。
- 调整subplot周围的间距
利用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上的累积和。
- 注解以及在Subplot上绘图
注解和文字可以通过text、arrow和annotate函数进行添加,text可以将文本绘制在图表的指定坐标(x,y)。
set_xlim和set_ylim人工设定起始和结束边界
创建一个块对象shp在图表中添加一个图形,然后通过ax.add_patch(shp)将其添加到subplot中。
- 将图表保存到文件
利用plt.savefig将当前图表保存到文件
- matplotlib配置
一种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做一个散布图,并加上一条线性回归的线
- 分面网格(facet grid)和类型数据
seaborn内置函数factorplot可以简化制作多种分面图: