Python可视化数据------seaborn
可以看链接:https://blog.csdn.net/unixtch/article/details/78820654
1、import seaborn as sns
2、seaborn的主题风格(5种):如黑底、白底、要格子、不要格子等。sns.set_style("dark")
(1)sns.set():想使用seaborn默认样式可以采用set函数,
(2)seaborn预先定义了5中主题样式,以适合不同场景需要,分别是:darkgrid, whitegrid, dark, white, 和ticks,默认是darkgrid。
(3)sns.despine(left=True):默认值将上面和右边的轴去掉。然后left的轴也被隐藏起来了
sns.despine(offset=10):将图与轴之间距离设置10,即从10距离处才画图
(4)想要多个子图不同风格可以用 with sns.axes_style
plt.subplot(211)的风格为darkgrid,plt.subplot((212)不一样
with sns.axes_style('darkgrid'): plt.subplot(211) plt.plot(x,y) plt.show() plt.subplot((212) plt.plot(x,y) plt.show()
3、seaborn的图样式(4种):sns.set_context("paper")
seaborn预定义了4种图表的样式定义,分别是:paper(小)、talk(大)、poster(较大)、notebook(更大),默认是notebook
(1)sns.set_context("notebook",font_scale=1.5,rc={"lines.linewidth":2.5})
轴的字体大小设置为1.5,线的宽度为2.5
4、调色板
(1)color_palette()能传入任何Matplotlib所支持的颜色,不写参数则默认颜色
(2)set_palette(),设置所有图的颜色。
(3)使用xkcd设置颜色命名:sns.skcd_rgb['名字']
5、分布图:
(1)绘制单变量的数据分布图:distplot()
①数据分布情况:sns.distlpot(x,kde=False,fit=stats.gamma)【fit参数使用了gamma分布拟合】
(2)散点图:sns.jointplot(x='x标签名字',y='y标签名字',data=df))【该函数可以把两个变量之间的散点图关系画出来,还会把自身的柱状图画出来】
(3)六边图:sns.jointplot(kind="hex"):该图可以看出数据量分布情况,常用在数据量较大的情况,颜色越深表示数据量多。
(4)回归分析图:变量之间两两分析 sns.pairplot(数据名)
柱状图为变量自身的分析,散点图为两两之间的。
replot()和Implot()都可以绘制回归关系,推荐使用replot()
sns.regplot(x="size", y="tip", data=tips, x_jitter=.05):x_jitter=.05将离散点(分类值)进行一个小范围的波动,更利于画回归图。
(5)多变量分析图:stripplot(x=' ',y=' ',data =df)
重叠解决办法:加上jitter=True,将数据偏一下,易于观察。
swarmplot
- 与stripplot类似,只是数据点不会重叠 (适合小数据量)
(6)盒图:找离群点:sns.boxplot()
(7)小提琴图:violinplot()用于显示数据分布及其概率密度。
中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。
(8)柱状图:sns.barplot(x,y,hue,data)
countplot 计数图
countplot 故名思意,计数图,可将它认为一种应用到分类变量的直方图,也可认为它是用以比较类别间计数差,调用 count 函数的 barplot。
(9)点图:pointplot()点图可以更好的描述变化差异。
(10)多层面板分类图:factorplot() 可以通过这个函数绘制以上几种图
(11)热度图:heatmap():显示数据趋势,常用的方式是:画出特征与特征之间的相关系数,然后放入heatmap中画出趋势观察。
heatmap(annot=True,fmt='d')annot参数是在颜色重显示数据,fmt是数据显示的格式,一般添加上。有很多参数,可以参考notebook文档。