python高级绘图库seaborn

来源:互联网 时间:1970-01-01

http://blog.csdn.net/pipisorry/article/details/49515745

Seaborn介绍

Matplotlib是Python主要的绘图库。但是不建议你直接使用它,原因与不推荐你使用NumPy是一样的。虽然Matplotlib很强大,它本身就很复杂,你的图经过大量的调整才能变精致。因此,作为替代推荐一开始使用Seaborn。

Seaborn本质上使用Matplotlib作为核心库(就像Pandas对NumPy一样)。

seaborn的优点:

默认情况下就能创建赏心悦目的图表。(只有一点,默认不是jet colormap)
创建具有统计意义的图
能理解pandas的DataFrame类型,所以它们一起可以很好地工作。

安装pip install seaborn

皮皮blog

Seaborn使用

具有统计意义的图

importseabornassns


# Load one of the data sets that come with seaborn

tips =sns.load_dataset("tips")


sns.jointplot("total_bill","tip",tips,kind='reg');




如你所见,仅通过一行代码,我们就创建了一个漂亮复杂的统计图,其中包含拥有置信区间的最拟合回归直线、边界图,以及相关系数。

使用matplotlib重新绘制这幅图的话需要相当多的(丑陋)代码,包括调用scipy执行线性回归并手动利用线性回归方程绘制直线(我甚至想不出怎么在边界绘图,怎么计算置信区间)。

[the tutorial on quantitative linear models]

与Pandas的DataFrame很好地工作

数据有自己的结构。通常我们感兴趣的包含不同的组或类(这种情况下使用pandas中groupby的功能会让人感到很神奇)。比如tips(小费)的数据集是这样的:

tips.head()

Out[9]:
16.991.01FemaleNoSunDinner210.341.66MaleNoSunDinner321.013.50MaleNoSunDinner323.683.31MaleNoSunDinner224.593.61FemaleNoSunDinner4
total_billtipsexsmokerdaytimesize01234
我们可能想知道吸烟者给的小费是否与不吸烟的人不同。没有seaborn的话,这需要使用pandas的groupby功能,并通过复杂的代码绘制线性回归直线。使用seaborn的话,我们可以给col参数提供列名,按我们的需要划分数据:

sns.lmplot("total_bill","tip",tips,col="smoker");




很整洁吧?

随着你研究得越深,你可能想更细粒度地控制这些图表的细节。因为seaborn只是调用了matplotlib,那时你可能会想学习这个库。然而,对绝大部分工作来说我还是喜欢使用seaborn。

from:http://www.lai18.com/content/1160496.html
ref:API reference

Seaborn tutorial

Python和数据科学的起步指南

Example gallery

Python数据可视化模块:Seaborn



相关阅读:
Top