seaborn可视化

import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
import numpy as np
import pandas as pd

In [8]:

data=np.random.multivariate_normal([0,0],[[5,2],[2,2]],size=2000)

data=pd.DataFrame(data,columns=['x','y'])

In [9]:

data.head()

Out[9]:

 xy
00.571117-0.158731
12.5227652.033863
2-3.413121-0.566827
3-1.788482-0.308131
43.5659472.668333

In [10]:

for col in 'xy':#频次直方图
    plt.hist(data[col],normed=True,alpha=0.5)
/opt/conda/lib/python3.5/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.
  warnings.warn("The 'normed' kwarg is deprecated, and has been "

In [11]:

for col in 'xy':#KDE可视化
    sns.kdeplot(data[col],shade=True)

In [14]:

sns.distplot(data['x'])#频次直方图与KDE的结合
sns.distplot(data['y']);
/opt/conda/lib/python3.5/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.
  warnings.warn("The 'normed' kwarg is deprecated, and has been "

In [15]:

sns.kdeplot(data);#二维KDE图
/opt/conda/lib/python3.5/site-packages/seaborn/distributions.py:645: UserWarning: Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.
  warnings.warn(warn_msg, UserWarning)

In [18]:

with sns.axes_style('white'):
    sns.jointplot('x','y',data,kind='kde')

In [19]:

with sns.axes_style('white'):
    sns.jointplot('x','y',data,kind='hex')
/opt/conda/lib/python3.5/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.
  warnings.warn("The 'normed' kwarg is deprecated, and has been "

In [20]:

iris=sns.load_dataset('iris')

In [21]:

iris.head()

Out[21]:

 sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa

In [24]:

sns.pairplot(iris,hue='species',size=2.5)#矩阵图

Out[24]:

<seaborn.axisgrid.PairGrid at 0x7f380c3ac0b8>

In [26]:

tips=sns.load_dataset('tips')
tips.head()

Out[26]:

 total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4

In [32]:

tips['tip_pct']=100*tips['tip']/tips['total_bill']#分面频次直方图
grid=sns.FacetGrid(tips,row='sex',col='time',margin_titles=True)
grid.map(plt.hist,'tip_pct',bins=np.linspace(0,40,15));

In [35]:

with sns.axes_style(style='ticks'):  # 因子图中不同离散因子分布对比
    g = sns.factorplot('day', 'total_bill', 'sex', data=tips, kind='box')
    g.set_axis_labels('Day', 'Total Bill')

In [37]:

with sns.axes_style('white'):#联合分布图
    sns.jointplot('total_bill','tip',data=tips,kind='hex')
/opt/conda/lib/python3.5/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.
  warnings.warn("The 'normed' kwarg is deprecated, and has been "

In [38]:

sns.jointplot('total_bill','tip',data=tips,kind='reg')#带回归拟合的联合分布
/opt/conda/lib/python3.5/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.
  warnings.warn("The 'normed' kwarg is deprecated, and has been "

Out[38]:

<seaborn.axisgrid.JointGrid at 0x7f37faf14dd8>

In [40]:

planets=sns.load_dataset('planets')#用行星数据
planets.head()

Out[40]:

 methodnumberorbital_periodmassdistanceyear
0Radial Velocity1269.3007.1077.402006
1Radial Velocity1874.7742.2156.952008
2Radial Velocity1763.0002.6019.842011
3Radial Velocity1326.03019.40110.622007
4Radial Velocity1516.22010.50119.472009

In [41]:

with sns.axes_style('white'):
    g=sns.factorplot('year',data=planets,aspect=2,kind='count',color='steelblue')
    g.set_xticklabels(step=5)

In [42]:

with sns.axes_style('white'):#不同年份、方法发现的行星数量
    g=sns.factorplot('year',data=planets,aspect=4.0,kind='count',hue='method',order=range(2001,2015))
    g.set_ylabels('number of planets discovered')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值