注:转载请注明出处
目录一、简述
二、matplotlib基础函数基本形式
figure和axes的关系
子图的绘制
导出矢量图三、Seaborn基础
四、绘图实例散点图
条形图
直方图
核密度图
箱线图
小提琴图
双变量关系图jointplot
回归图
pairplot 图
heatmap 图
一、简述
本文介绍基于pandas、matplotlib、seaborn库的Python数据可视化。pandas库是数据分析库,实现了一些基本的绘图方法。matplotlib和seaborn是Python中最常用的可视化工具,Python数据可视化一般是通过较底层的 Matplotlib 库和较高层的 Seaborn 库实现的。
Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。
那么Pandas与Seaborn之间有什么区别呢?其实两者都是使用了matplotlib来作图,但是有非常不同的设计差异。
在只需要简单地作图时直接用Pandas,但要想做出更加吸引人,更丰富的图就可以使用Seaborn;Pandas的作图函数并没有太多的参数来调整图形,所以你必须要深入了解matplotlib;Seaborn的作图函数中提供了大量的参数来调整图形,所以并不需要太深入了解matplotlib。
建议用以下几个步骤学习如何使用matplotlib:
1. 学习基本的matplotlib术语,尤其是什么是图和坐标轴
2. 始终使用面向对象的接口,从一开始就养成使用它的习惯
3. 用基础的pandas绘图开始你的可视化学习
4. 用seaborn进行更复杂的统计可视化
5. 用matplotlib来定制pandas或者seaborn可视化
matplotlib作图的基本组成如下图:
导入数据可视化需要的包
# 导入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
# 为了在jupyter notebook内嵌网页中显示图形,可打开以下开关
# 如果没有打开开关,每次图形显示时要使用函数:plt.show()
%matplotlib inline
#解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
二、Matplotlib基础
1. 函数基本形式
Matplotlib画图函数一般为如下形式:
plt.图名(x, y, '颜色 marker 线型')
x = np.linspace(0, 2 * np.pi, 20)
plt.figure(figsize=(6, 4))# 新建一个图像,设置图像大小
plt.plot(x, np.sin(x), 'ro-', label='sinx')# 设置颜色、标记符号、线型、图例标签
plt.plot(x, np.cos(x), 'b*--', label='cosx')
plt.title('plot curve', fontsize=25)# 标题
plt.xlim(-1, 7)# x轴范围
plt.ylim(-1.5, 1.5)# y轴范围
plt.xlabel('x', fontsize=20)# x轴标签
plt.ylabel('y', fontsize=20)# y轴标签
plt.legend(loc='best')# 图例
plt.show()
2. figure和axes的关系
在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。每个Axes对象都是一个拥有自己坐标系统的绘图区域。
相应的,matplotlib有两种画图方式,pyplot方法和axes