《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

第9章 绘图和可视化

9.1 matplotlib API入门

  • Figure和Subplot

matplotlib的图像都位于Figure对象中,用plt.figure创建一个新的Figure 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

通过空Figure绘图,必须用add_subplot创建一个或多个subplot才行: 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

执行一条绘图命令,matplotlib会在最后一个用过的subplot(如果没有则创建一个)上进行绘制,隐藏创建figure和subplot的过程。

“k- -”是一个线型选项,用于告诉matplotlib绘制黑色虚线图。

plt.subplots用来创建一个新的Figure,并返回一个含有已创建的subplot对象的NumPy数组。

sharex和sharey指定subplot应该具有相同的X轴或Y轴。 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

  • 调整subplot周围的间距

利用Figure的subplots_adjust方法可以修改间距,它是一个*函数: 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

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中。 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

  • 将图表保存到文件

利用plt.savefig将当前图表保存到文件 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

  • matplotlib配置

一种Python编程方式配置系统的方法是rc方法

9.2 使用panda和seaborn绘图

  • 线型图

plot方法默认生成线型图,Series对象的索引会被传给matplotlib,并用以绘制x轴。可以通过use_index=False禁用该功能。

Series.plot方法的参数: 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

用于DataFrame的plot参数: 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

  • 柱状图

plot.bar()和plot.barh()分别绘制水平和垂直的柱状图

stacked=True即可为DataFrame生成堆积柱状图

  • 直方图和密度图

seaborn的distplot方法绘制直方图和密度图 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化

  • 散布图或点图

Seaborn的regplot做一个散布图,并加上一条线性回归的线

  • 分面网格(facet grid)和类型数据

seaborn内置函数factorplot可以简化制作多种分面图: 

《利用Python进行数据分析》学习笔记 第9章 绘图和可视化