seaborn散点图中的质心标注方法

散点图中的质心标注方法

前言

t-SNE Python Example文章有一张散点图的动图,被各大博主拿来分享,我也贴一下,这个图确实比较震撼。
在这里插入图片描述

除了会动,还有一个震撼之处就是标注的数字会随着点的散开而动,很遗憾原来的文章不是绣这个操作的,没看到实现方法,但是由此推断这个标注应该在分类样本的质心(坐标均值)上,那么这种质心标注有没有用呢?答案是有用,非常有用,尤其当分类样本多、分类点分散以及某些分类聚集的时候,散点图有时不那么直观,比如下图超过50个类别的情况,虽然利用颜色、样式(也可以大小)来区分,但还是乱了套。
在这里插入图片描述

质心标注

这里还是用seaborn的强大功能,帮助实现质心标注,实例代码如下:

import seaborn as sns
df = sns.load_dataset('iris')
sns.set(rc={'figure.figsize': (11.7, 8.27)})
palette = sns.color_palette("husl", 3)
p1 = sns.scatterplot(x="sepal_length", y="sepal_width", data=df, hue='species',  style='species', legend='auto', palette=palette)
p1.text(df.loc[df["species"]=='setosa']["sepal_length"].mean(), df.loc[df["species"]=='setosa']["sepal_width"].mean(), "setosa", horizontalalignment='left', size='medium', color='black', weight='semibold')
p1.text(df.loc[df["species"]=='versicolor']["sepal_length"].mean(), df.loc[df["species"]=='versicolor']["sepal_width"].mean(), "versicolor", horizontalalignment='left', size='medium', color='black', weight='semibold')
p1.text(df.loc[df["species"]=='virginica']["sepal_length"].mean(), df.loc[df["species"]=='virginica']["sepal_width"].mean(), "virginica", horizontalalignment='left', size='medium', color='black', weight='semibold')

效果如下:
在这里插入图片描述质心标注了类别名称,查看类别分布是不是更加直观了,那么我们那个超过50个类的散点图有时什么样的呢?
在这里插入图片描述
这么看,是不是那些关系很近的类别一下子就无处躲藏了,质心标注在大数据多类别的散点分析中体现了自己的价值。

参考

  1. seaborn学习笔记2-散点图Scatterplot
  2. dataframe 按条件筛选行
  3. python下的Pandas中DataFrame基本操作(一),基本函数整理
  4. seaborn系列 (2) | 散点图scatterplot()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值