如何使用Seaborn进行Python绘图和可视化?

摘要:博客地址:http:www.cnblogs.comyudanqu Seaborn是对matplotlib的extend,是一个数据可视化库,提供更高级的API封装,在应用中更加的方便灵活。下面我简单介绍一下他的用法,实际应用的时候,
博客地址:http://www.cnblogs.com/yudanqu/   Seaborn是对matplotlib的extend,是一个数据可视化库,提供更高级的API封装,在应用中更加的方便灵活。下面我简单介绍一下他的用法,实际应用的时候,可以直接从文档中查找这个库,这时候使用就很快捷了。 提要:1、直方图和密度图    2、柱状图和热力图    3、设置图形显示效果    4、调色功能   老样子,首先将使用它所需要的库导入进来,当然,其中包括numpy之类的是为了演示它的功能才导入的,大家要先理解一下每个库的作用。 1 import numpy as np 2 import pandas as pd 3 import matplotlib.pyplot as plt 4 from pandas import Series,DataFrame 5 import seaborn as sns 1、直方图和密度图   如果在交互式环境中,可以通过%matplotlab来解决每次通过plt.show()来显示图像(本人在ipython中,貌似jupyter中%matplotlib inline等等) # matplotlib 1 s1 = Series(np.random.randn(1000)) # 生成1000个点的符合正态分布的随机数 2 plt.hist(s1) # 直方图,也可以通过plot(),修改里面kind参数实现 3 s1.plot(kind='kde') # 密度图 # seaborn 1 sns.distplot(s1,hist=True,kde=True,rug=True) # 前两个默认就是True,rug是在最下方显示出频率情况,默认为False 2 # bins=20 表示等分为20份的效果,同样有label等等参数 3 sns.kdeplot(s1,shade=True,color='r') # shade表示线下颜色为阴影,color表示颜色是红色 4 sns.rugplot(s1) # 在下方画出频率情况   给出两种方式通过最基本的方式画出来的效果,怎么样,是不是发现seaborn很强大。 2、柱状图和热力图   (1)下载实验数据: 1 df = sns.load_dataset('flights') # 在线下载一个数据用于实验,在sns.load_dataset()函数里有很多的数据,想了解更多的可以到GitHub中找到源码,你就会很清楚了   我们可以先看一下里面的数据,可以看到,这是一个航空的数据,里面有年、月和乘客数量,接下来我们就要在这份数据上进行分析。   (2)我们可以通过透视表来先对这份数据进行一下处理: 1 df = df.pivot(index='month',columns='year',values='passengers') # 生成一个透视表,得到一个以年、月为轴的二维数据表   大家可以自己试一下,这样生成的结果是以年为columns,以月为index,表内数据为对应的乘客数量。
阅读全文