Seaborn绘图优化–矩阵可视化

  • A+
所属分类:python数据分析
摘要这一篇我们介绍一下关于矩阵可视化的内容, 同时我们看一下使用Seaborn进行绘图的时候的一些设置是如何进行的.

简介

这一篇文章主要会讲关于矩阵的可视化, 有的时候我们求了相关系数矩阵等, 当变量比较多的时候, 直接看数值的大小就不是很直观, 这个时候将其可视化就会很直观.

注意: 当出现负数的时候, 我们可以将其平方或是求绝对值, 这样可以体现出大小的关系.

下面是两个参考的链接.

这里我们除了看一下矩阵的可视化, 还可以看一下如何使用Seaborn来添加label, 或是改变label字体的大小, 设置标题等操作.

一个具体的例子

我们看一个具体的例子. 下面这个例子是在计算因子分析的时候得到的结果, 我们想要看隐变量主要和哪些观测变量有关, 我们会求得一个矩阵, 如下所示:

Seaborn绘图优化--矩阵可视化

我们直接看这个是不直观的, 无法知道哪些大哪些小, 于是我们要将其可视化, 我们使用下面的方式进行可视化.

  1. df_cm = pd.DataFrame(np.abs(fa.loadings_), index=df.columns)
  2. plt.figure(figsize = (14,14))
  3. ax = sns.heatmap(df_cm, annot=True, cmap="BuPu")
  4. # 设置y轴的字体的大小
  5. ax.yaxis.set_tick_params(labelsize=15)
  6. plt.title('Factor Analysis', fontsize='xx-large')
  7. # Set y-axis label
  8. plt.ylabel('Sepal Width', fontsize='xx-large')
  9. plt.savefig('factorAnalysis.png', dpi=500)

得到了下面的效果, 可以看到这样的结果还是可以的. 可以看到每一个隐变量分别对应的变量.

Seaborn绘图优化--矩阵可视化

保留小数

在进行矩阵可视化的时候, 有的时候我们只需要保留自己需要的小数, 如果位数太多反而会有进行重叠. 所以我们需要使用fmt='.1f'来进行调节.

ticks进行旋转

有的时候我们需要旋转x或是y轴上的内容, 来是的其可以完整的放下我们需要的内容. 我们使用下面的方式来进行旋转, 可以自己调节旋转的角度

  1. plt.yticks(rotation=0)

我们最后在给出一个完整的代码, 这个是绘制相关系数矩阵的可视化的代码:

  1. # 绘制相关系数矩阵
  2. plt.figure(figsize = (10,10))
  3. ax = sns.heatmap(data.corr(), annot=True, fmt='.1f', cmap="BuPu") # fmt表示保留的小数点
  4. # 设置y轴的字体的大小
  5. plt.yticks(rotation=0) # 让y轴的字进行旋转
  6. # ax.yaxis.set_tick_params(labelsize=15)
  7. plt.title('Correlations for Dataset', fontsize='xx-large')

最后的效果图可以是如下所示的结果:

Seaborn绘图优化--矩阵可视化
  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: