网站建设如何缴纳印花税,游戏外包公司怎么接活,沧州网站建设的技术方案,宁波seo整体优化Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装#xff0c;从而使得作图更加容易#xff0c;不需要经过大量的调整就能使你的图变得精致。注#xff1a;所有代码均在IPy… Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装从而使得作图更加容易不需要经过大量的调整就能使你的图变得精致。注所有代码均在IPython notebook中实现heatmap 热力图热力图在实际中常用于展示一组变量的相关系数矩阵在展示列联表的数据分布上也有较大的用途通过热力图我们可以非常直观地感受到数值大小的差异状况。heatmap的API如下所示下面将演示这些主要参数的用法第一件事还是先导入相关的packages。1import seaborn as sns2%matplotlib inline3sns.set(font_scale1.5)本次演示采用的数据集是Seaborn中内置的flights航班数据集1#导入数据集后按年月两个维度进行数据透视2datasns.load_dataset(flights)\3 .pivot(month,year,passengers) 4data.head() 如上图所示dataframe中的数据代表了1949年-1960年每个月的航班乘客数量接下来热力图就隆重登场啦1sns.set_context({figure.figsize:(8,8)})2sns.heatmap(datadata,squareTrue) 3#可以看到热力图主要展示的是二维数据的数据关系4#不同大小的值对应不同的颜色深浅热力图的右侧是颜色带上面代表了数值到颜色的映射数值由小到大对应色彩由暗到亮。从上面的heatmap中我们可以得到两层信息一是随着时间的推移飞机的乘客数量是在逐步增多的二是航班的乘坐旺季在七月和八月份。下面就具体的参数进行演示。vmax设置颜色带的最大值vmin设置颜色带的最小值1sns.heatmap(datadata,vmin200,2 vmax500)可以看到右侧的颜色带最大最小值变了而heatmap中颜色映射关系也会随之调整将本图和上面的图进行对比便一目了然。cmap设置颜色带的色系1sns.heatmap(datadata,cmapRdBu_r)好像变好看了?center设置颜色带的分界线1sns.heatmap(datadata,cmapRdBu_r,2 center300) 细心的朋友可以察觉到颜色带上色彩两级的分界线变成了300annot是否显示数值注释1sns.heatmap(datadata,annotTrue,2 cmapRdBu_r)怎么回事乱码了吗其实数值注释默认显示的是科学记数法的数值我们得把数值进行格式化这就用到了下面的参数。fmtformat的缩写设置数值的格式化形式1sns.heatmap(datadata,annotTrue,2 fmtd,cmapRdBu_r)3#foramt为int类型linewidths控制每个小方格之间的间距1sns.heatmap(datadata,annotTrue,2 fmtd,linewidths0.3,3 cmapRdBu_r) 4#可以看到每个小方格之产生了间隙linecolor控制分割线的颜色1sns.heatmap(datadata,annotTrue,2 fmtd,linewidths0.3,3 linecolorgrey,cmapRdBu_r)4#原来的白色间隙变成了灰色间隙cbar_kws关于颜色带的设置1sns.heatmap(datadata,annotTrue,2 fmtd,cmapRdBu_r,3 cbar_kws{orientation:horizontal}) 4#横向显示颜色帮mask传入布尔型矩阵若为矩阵内为True则热力图相应的位置的数据将会被屏蔽掉(常用在绘制相关系数矩阵图) 1import numpy as np 2#随机生成一个200行10列的数据集 3data_new np.random.randn(200,10) 4 5#求出这个数据集的相关系数矩阵 6corr np.corrcoef(data_new,rowvarFalse) 7 8#以corr的形状生成一个全为0的矩阵 9mask np.zeros_like(corr)1011#将mask的对角线及以上设置为True12#这部分就是对应要被遮掉的部分13mask[np.triu_indices_from(mask)] True1415with sns.axes_style(white):16 sns.heatmap(corr, maskmask, vmax0.3, 17 annotTrue,cmapRdBu_r)如果大家对上面的代码流程不大了解可以把mask打印出来看看参照mask和上面绘制的图应该就很容易理解了mask中为1的部分就是要被盖掉的部分。演示到此为止想更深入的学习可以自行查阅官方文档▼ 点击成为社区注册会员 喜欢文章点个在看