赞
踩
DataFrame.plot( )函数:
#scatterplot参数
seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None,
data=None, palette=None, hue_order=None, hue_norm=None, sizes=None,
size_order=None, size_norm=None, markers=True, style_order=None,
x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000,
alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
Seaborn是一种基于matplotlib的图形可视化库,已经提前定义好了一套自己的风格,也封装了一系列方便的绘图函数,使用Seaborn绘图比matplotlib更好看,更简单
通过pip或anaconda:
pip install seaborn
conda install seaborn
官方文档:
http://seaborn.pydata.org/tutorial.html
主要讨论的是三个seaborn函数。我们最常用的是relplot()。这是一个图形级函数使用两种常用方法可视化统计关系:散点图(scatter plots)和线图(line plots)
1. scatterplot() (与kind="scatter";默认值)
2. lineplot() (与kind="line")
首先,导入需要的各种模块:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid") #这是seaborn默认的风格
散点图是统计可视化的重要组成部分。它使用点云来描述两个变量的联合分布,其中每个点代表数据集中的一个观察。这种描绘可以推断出大量关于它们之间是否有任何有意义的关系的信息。
在seaborn中有几种(后面介绍)绘制散点图的方法,当两个变量都是数字时,应该使用的最基本的是scatterplot()功能。在Categorical plots(分类图)中,我们将看到使用散点图可视化分类数据的专门工具。
#数据来源可在seaborn的GitHub上查找,数据下载连接https://github.com/mwaskom/seaborn-data
df=pd.read_csv('D:/python/学习笔记/tips.csv')
sns.scatterplot(x="total_bill",y="tip",data=df)
不同类型的方式(style),点的大小(size),并显示具有不同颜色的组:
ax = sns.scatterplot(x="total_bill", y="tip",hue="day",
style="time",size='size',data=df)
可以将图根据某个属性的值的个数分割成多列或者多行,比如在以上图的基础上想把lunch和dinner分割成两个图来现实:
sns.relplot(x="total_bill",y="tip",hue="day",col="time",data=df)
也可以在row上添加一个新的变量,比如把性别按照行显示出来:
sns.relplot(x="total_bill",y="tip",hue="day",col="time",row="sex",data=df)
有时候图会有很多,默认情况下会在一行中全部显示出来,那么我们可以通过col_wrap来指定具体多少列
sns.relplot(x="total_bill",y="tip",col="day",col_wrap=2,data=df)
fmri = sns.load_dataset("fmri")
ax = sns.lineplot(x="timepoint", y="signal", data=fmri)
#阴影是默认的置信区间,可设置ci=0,将其去除
添加参数后:
#使用标记而不是破折号来识别组
ax = sns.lineplot(x="timepoint", y="signal",hue="event", style="event",
markers=True, dashes=False, data=fmri)
relplot(关系图)可以看做是lineplot和scatterplot的归约,可以通过kind参数来指定画什么图形,重要参数解释如下:
kind:默认scatter(散点图),也可以选择kind=‘line’(线图)
sizes:List、dict或tuple,可选,简单点就是图片大小,注意和size区分
tips = sns.load_dataset("tips")
g = sns.relplot(x="total_bill", y="tip", data=tips)
#两者效果一模一样
ax = sns.scatterplot(x="total_bill", y="tip", data=tips)
其他参数设置:
g = sns.relplot(x="total_bill", y="tip", hue="time", size="size",
palette=["b", "r"], sizes=(10, 100),col="time",row='sex', data=tips)
stripplot(分布散点图)的意思就是按照不同类别对样本数据进行分布散点图绘制。stripplot(分布散点图)一般并不单独绘制,它常常与boxplot和violinplot联合起来绘制,作为这两种图的补充。
seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, jitter=True, dodge=False, orient=None, color=None,
palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。