原始图:
1.seaborn提供五种主题风格:seaborn.set_style(“主题名”):
- darkgrid
- whitegrid
- dark
- white
- ticks(与white的区别是横轴刻度加了一个小线段)
如不指定主题:
seaborn.set_style():默认为ticks;
seaborn.set():默认为darkgrid;
2.seaborn色板:
- sns.color_palette(),不指定参数会返回10种默认颜色
- 圆形画板:当所需颜色多于默认颜色数目时,系统会在一个圆形画板(将所有颜色排成圆形)均分后中取色(一般使用hls颜色空间,hls是rgb的简单转换)
color = sns.color_palette('hls', 12)
sns.palplot(color)
3.单变量分析:
#直方图
#泰坦尼克号数据,详情引用参考上一篇文章
Age = []
for i in range(0, len(age)):
if 0 < age[i] <= 100:
Age.append(age[i])
else:
#剔除无效值
continue
#bins=20为将整个区间分为20取值范围
sns.distplot(Age, bins = 20)
mean, cov=[0,1], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, 1000).T
#with语句用来规定语句块内的绘图任务保持同一个风格
with sns.axes_style("white"):
sns.jointplot(x=x,y=y)
plt.show()
- sns.jointplot(x=x,y=y)
- 数据量大的时候推荐使用“hex”格式表达sns.jointplot(x=x, y=y, kind=“hex”),通过六边形颜色的深度不同表示此区域内容密集度,与散点图相比更加直观,更加美观。
4.回归分析seaborn.regplot():
#tips是seaborn的自带数据集
#数据内容为:消费总数,小费,性别,是否抽烟,人数,时间等信息
tips = sns.load_dataset("tips")
#三个参数依次为:横坐标名称,纵坐标名称,数据集
sns.regplot(x="total_bill", y="tip", data=tips)
plt.show()
- 当所选数据比如size为不连续值不适合建立回归模型时,可适当对数据进行“抖动”,函数X_jitter参数赋值为数据添加抖动性:
sns.regplot(x="size", y="total_bill", data=tips, x_jitter=.20, color="r")
- sns.swarmplot(x=“size”, y=“total_bill”, hue=“sex”, data=tips)可以更好的处理这类不连续的数据
5.可以画出所有图形的seaborn.factorplot()
seaborn.factorplot(x, y, hue, data,row, col, col_wrap, estimator, ci=95, n_boots, units, hue_order, roe_order, col_order, kind=point, size=4, aspect=1, orient, color, palette, legend=True, lengend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws, **kwargs )
- x,y,hue:数据集变量,变量名
- date:数据集名
- row,col:更多分类变量进行平铺显示 变量名
- col_wrap:每行的最高平铺数,整数
- estimator:在每个分类中进行矢量到标量的映射 矢量
- ci=95:置信区间,浮点数或者None
- n_boots:极端置信区间时使用的引导迭代次数 整数
- units:采样单元的标识符,用于执行多级引导和重复测量设计, 数据变量或向量数据
- order,hue_order:对应排序列表 字符串列表
- roe_order, col_order:对应排序列表,字符串列表
- kind=point:可选属性,默认为point
- size=4:每个面的高度,默认为4英寸
- aspect=1:图表纵横比, 标量
- orient:图表方向,“v”或“h”
- color:颜色
- palette:调色板
- legend=True: hue 属性的信息面板
- lengend_out=True:信息面板是否扩展
- sharex=True, sharey=True:共享X或Y轴线
- margin_titles=False, facet_kws, **kwargs
6.展示子集seaborn.Facetgrid()
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="time")
g.map(plt.hist, "tip")
plt.show()
7.热度图 seaborn.heatmap()
#用颜色深度不同表示数值不同
flight = sns.load_dataset("flights")
#提取出相应属性数据
data = flight.pivot("month", "year", "passengers")
#绘制热度图
sns.heatmap(data)
plt.show()