欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 之seaborn库的基础使用(5种常用图形的使用)

程序员文章站 2024-03-08 20:57:46
...

画图中,常用的图形有直方图、条形图、分类柱形图、散点图、盒图。(其实还有一个折线图,但是在写的时候发现,sns.lineplot、sns.ggplot这些函数一个都用不了,so,折线图就不说了)

一、直方图

这个图形的作用,就是你输入一个单变量数据,它会告诉你这个数据集中数据的分布情况,并且你可以自定义划分为若干区间。

seaborn.distplot(a, 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)

 

a:数据来源

bins:矩形图数量

hist:是否显示直方图

kde:是否显示核函数估计图

rug:控制是否显示观察的边际毛毯

fit:控制拟合的参数分布图形

vertical:显示正交控制

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline

x = np.random.normal(size=100)#生成100个数
#print(x)
sns.distplot(x,kde=False,bins=10)

python 之seaborn库的基础使用(5种常用图形的使用)

 

二、条形图

同样是对一个单变量数据进行处理,但是这里它会统计每一个不同值出现的次数,然后把值的大小作为横坐标,值出现的次数作为纵坐标画图。

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

x,y:设置x,y,x为竖型图,y为横型图

hue:为数据分类

data:输入的数据集

order, hue_order:控制变量绘图的顺序

ax:设置子图位置

orient:"v"|"h",控制绘图的方向,水平或者竖直

palette:颜色选择

下面两个例子,体会一下hue参数的作用 

titanic = pd.read_csv("E:\\titanic\\train.csv")
sns.countplot(x="Survived", hue="Pclass", data=titanic)

sns.countplot(y="Survived", data=titanic)

 

python 之seaborn库的基础使用(5种常用图形的使用)

 

三、分类柱形图

这里你要输入两个变量值x、y,x作为柱形图的横轴,y作为柱形图的高度。如我们现在有华南区各省份今年的gdp值,现在要画个柱形图体现,就要自定义一个x,gdp作为y值画图了。

seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,ci=95, n_boot=1000, units=None, orient=None, color=None, palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, ax=None, estimator=<function mean>,**kwargs)

a = np.arange(1,9,1)
b = a + np.random.randint(-4,3,8)
#print(b)
sns.barplot(a,b,palette=sns.color_palette("hls", 8)) #matplotlib中用的是bar

 

python 之seaborn库的基础使用(5种常用图形的使用)

四、散点图

一般用来看看两个变量之间是否存在关系 

stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=False, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
#创建数据集
examDict  = {'学习时间':[0.50,0.75,1.00,1.25,1.50,1.75,1.75,
                     2.00,2.25,2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],
             '分数':[10,22,13,43,20,22,33,50,62,
                   48,55,75,62,73,81,76,64,82,90,93]}
 
#转换为DataFrame的数据格式
examDf = pd.DataFrame(examDict)

fig,ax = plt.subplots()
ax = sns.stripplot(examDf.分数,examDf.学习时间,color='b')
ax.set_xlabel('Hours')
ax.set_ylabel('Score')
ax.set_title('the relation between Hours and Score')

python 之seaborn库的基础使用(5种常用图形的使用)

五、盒图

又称箱形图,它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。主要用作显示一组数据分散情况资料的统计图。

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)
data = np.random.normal(size=(20, 8)) + np.arange(8) / 2
sns.boxplot(data=data,palette=sns.color_palette("hls", 8))

python 之seaborn库的基础使用(5种常用图形的使用)

相关标签: seaborn