seaborn 简单使用

2019-01-09  本文已影响0人  大王叫我来巡老和山

写了matplotlib之后,懒劲复发,不想提笔,蹉跎了多日,今天痛定思痛,下定决心写seaborn,毕竟是很常用的一个包~

下文主要简单介绍 distplot、boxplot、violinplot、countplot 以及 heatmap 的用法。


Distplot


def distplot(data, bins=None, hist=True, kde=True, rug=False, fit=None,
             hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None,
             color=None, vertical=False, norm_hist=False, axlabel=None,
             label=None, ax=None):
import matplotlib.pyplot as plt
import seaborn as sns

x=np.random.randn(100) 
sns.distplot(x,axlabel='axlabel',label='label')
plt.legend()
plt.show()

图片如下所示:


distplot

Boxplot


箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。它能显示出一组数据的最大值、最小值、中位数及上下四分位数。因形状如箱子而得名。

seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None,  
                hue_order=None, orient=None, color=None, palette=None,
                saturation=0.75, width=0.8, dodge=True, fliersize=5,
                linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)
import matplotlib.pyplot as plt
import seaborn as sns

x=np.random.randn(100,3)*3 
df = pd.DataFrame(x,columns=['a','b','c'])
df['label'] = df['a'] // 3
sns.boxplot(x='label',y='a',data=df)
plt.show()

上面绘制了 df['label'] 和 df['a'] 之间关系的箱型图(两者大约为3倍关系)。效果如下:


boxplot
import matplotlib.pyplot as plt
import seaborn as sns

x=np.random.randn(100,3)*3 
df = pd.DataFrame(x,columns=['a','b','c'])
sns.boxplot(data=df)
plt.show()

这个代码则是分别绘制了 df 中,每列各自的箱型图,效果如下:


boxplot

Violinplot


violinplot与boxplot扮演类似的角色,它显示了定量数据在一个(或多个)分类变量的多个层次上的分布,这些分布可以进行比较。不像箱形图中所有绘图组件都对应于实际数据点,小提琴绘图以基础分布的核密度估计为特征。

iolinplot(x=None, y=None, hue=None, data=None, order=None,
           hue_order=None, bw='scott', cut=2, scale='area', scale_hue=True, 
           gridsize=100, width=0.8, inner='box', split=False, dodge=True,
           linewidth=None, color=None, palette=None,  ax=None, **kwargs)

栗子如下:

import matplotlib.pyplot as plt
import seaborn as sns

x=np.random.randn(100,3)*3
df = pd.DataFrame(x,columns=['a','b','c'])
sns.violinplot(data=df)
plt.show()

结果如下图:


violinplot

Countplot


countplot 主要用来统计数目,函数如下:

seaborn.countplot(x=None, y=None, hue=None, data=None, order=None, 
hue_order=None, orient=None, color=None, palette=None, saturation=0.75, 
dodge=True, ax=None, **kwargs)

简单举一个例子:

x=np.random.randint(1,10,(100,))
df = pd.DataFrame(x,columns=['a'])
sns.countplot(x='a',data=df)
plt.show()

结果如下:


countplot

Heatmap


热图也是常用的数据分析工具,一般会配合相关系数的计算(说白了就是将计算的相关系数矩阵用热图展示出来)。

heatmap(data, vmin=None, vmax=None, cmap=None, center=None, 
            annot=None, fmt=".2g", annot_kws=None,
            linewidths=0, linecolor="white",
            square=False, xticklabels="auto", yticklabels="auto",
            mask=None, ax=None, **kwargs):
x=np.random.randn(50,5)
df = pd.DataFrame(x)
sns.heatmap(data=df.corr(),linewidths=0.1,linecolor='white',vmax=1.0,
            square=True, annot=True, cmap="RdBu")
plt.show()

结果如下:


heatmap

好,就先到此为止吧~

上一篇下一篇

猜你喜欢

热点阅读