美文网首页
ggplot-geom_point 聚类散点图添加簇标签

ggplot-geom_point 聚类散点图添加簇标签

作者: 倪桦 | 来源:发表于2022-07-08 00:12 被阅读0次

本篇分享在ggplot的散点聚类图中,为每个类群添加标签Label的方法,方法通过kmeans方法计算每个簇的中心,给每个簇的中心点添加Class_label实现每个簇的标签标记。

点图绘图数据

> data.plot
         tissue   x   y  imagerow imagecol Class
BIN_001       1   12 22        1      001 class_A
BIN_002       1   22 21        1      002 class_A
BIN_003       1   11 32        1      003 class_B
BIN_004       1   30 14        1      004 class_C
BIN_005       1   32 45        1      005 class_A
...

1、kmeans计算每个簇的中心点坐标

计算一个簇的中心,首先根据簇类别对数据集分组,然后用kmeans计算每个簇的一个中心坐标。

library(dplyr);library(purrr);library(ggplot2)
data.plot %>% 
    group_by(Class) %>% 
    do(model = kmeans(.[c('x', 'y')], 1)) %>% ### kmeans 计算一个中心点
    ungroup() %>% group_by(Class) %>% 
    do(map_df(.$model, broom::tidy)) %>% ### 整理模型数据
    ungroup() %>% select(Class,x,y ) %>% data.frame() %>% 
    dplyr::rename(x.center=x,y.center=y,Class=Class) ->label.data

> label.data
     Class  x.center  y.center
1   class_A 13.67994  21.90958
2   class_B 28.67363  38.40217
3   class_C 16.99799  13.78242

2、画散点图,通过geom_label显示标签信息

data.plot %>% ggplot(aes(x ,y)) + 
    geom_point(aes(colour = Class),size = 0.5) + 
    scale_colour_brewer(palette = "Dark2") +
    theme_bw() +
    ggtitle("Class.cluster.plot") + theme(plot.title = element_text(face = 2,size = 50,hjust = 0.5)) + 
    geom_label(data = label.data, aes(label = Class,x = x.center,y = y.center))

相关文章

  • ggplot-geom_point 聚类散点图添加簇标签

    本篇分享在ggplot的散点聚类图中,为每个类群添加标签Label的方法,方法通过kmeans方法计算每个簇的中心...

  • 第六章 聚类模型

    聚类是什么:聚类是无监督学习。是将相似的样本分组的过程,每个组称为一个簇,样本没有标签。 聚类的应用:天气特征、信...

  • k-Means++/FCM/凝聚层次聚类/DBSCAN

    参考自初识聚类算法:K均值、凝聚层次聚类和DBSCAN,模糊聚类FCM算法。 聚类的目的 将数据划分为若干个簇,簇...

  • DBSCAN聚类算法

    前言密度聚类的优点: 能够找出 不规则形状的类簇,并且聚类时不需要事先知道类簇的个数。DBSCAN是密度聚类的一...

  • K-Means聚类算法

    聚类 聚类 是一种无监督学习,它将相似对象归到一个簇中。簇中的对象越相似,聚类的效果越好。聚类跟分类的区别,分类事...

  • 无监督学习 - 聚类 - DBSCAN

    DBSCAN密度聚类DBSCAN算法是一种基于密度的聚类算法: 聚类的时候不需要预先指定簇的个数 最终的簇个数不定...

  • 按照热图聚类结果来给样本分组

    1.需求 如图,热图自带聚类树,将样本(列)分成了三个簇。想要按照聚类的结果,获取到 的信息,并将这个信息添加到热...

  • KMeans聚类算法实现鸢尾花的聚类

    KMeans聚类描述 聚类是无监督学习,它将相似对象归到同一个簇中,簇内对象越相似,聚类的效果越好。KMeans算...

  • 中文NLP笔记:7. 如何做中文短文本聚类

    文本聚类 将一个个文档表示成高维空间点,通过计算哪些点距离比较近,聚成一个簇,簇的中心叫做簇心 一个好的聚类要...

  • 你知道如何聚类吗?层次聚类与聚类树

    原文链接(可关注公众号微生态与微进化索取示例数据): 层次聚类与聚类树 比较聚类:我该划分多少个聚类簇? 聚类分析...

网友评论

      本文标题:ggplot-geom_point 聚类散点图添加簇标签

      本文链接:https://www.haomeiwen.com/subject/ecepbrtx.html