不带轴的气泡图,带R中的标签

不带轴的气泡图,带R中的标签,r,ggplot2,visualization,bubble-chart,R,Ggplot2,Visualization,Bubble Chart,我有以下数据框: > dput(df) structure(list(text = structure(c(9L, 10L, 1L, 7L, 5L, 12L, 1L, 11L, 5L, 8L, 2L, 13L, 2L, 5L, NA, 6L, 13L, 4L, NA, 5L, 4L, 3L ), .Label = c("add ", "change ", "clarify", "correct", "correct ", "delete", "embed", "follow", "na

我有以下数据框:

> dput(df)
structure(list(text = structure(c(9L, 10L, 1L, 7L, 5L, 12L, 1L, 
11L, 5L, 8L, 2L, 13L, 2L, 5L, NA, 6L, 13L, 4L, NA, 5L, 4L, 3L
), .Label = c("add ", "change ", "clarify", "correct", "correct ", 
"delete", "embed", "follow", "name ", "remove", "remove ", "specifiy ", 
"update"), class = "factor"), ID = c(1052330L, 915045L, 931207L, 
 572099L, 926845L, 510057L, 927946L, 490640L, 928498L, 893872L, 
 956074L, 627059L, 508649L, 508657L, 1009304L, 493138L, 955579L, 
 144052L, 1011166L, 151059L, 930992L, 913074L)), .Names = c("text", 
 "ID"), class = "data.frame", row.names = c(NA, -22L))
我想为我的df制作一个气泡图,用圆圈标记文本列中的每个动词,以及与文本列中每个动词相关的ID数。这是我的圆圈代码,但我不知道如何标记:

> library(packcircles)
> library(ggplot2)
> packing <- circleProgressiveLayout(df)
> dat.gg <- circleLayoutVertices(packing)
> ggplot(data = dat.gg) +geom_polygon(aes(x, y, group = id, fill =  factor(id)), colour = "black",show.legend = FALSE) +scale_y_reverse() +coord_equal()
>库(packcircles)
>图书馆(GG2)
>填充dat.gg ggplot(数据=dat.gg)+几何多边形(aes(x,y,组=id,填充=系数(id)),color=“black”,show.legend=FALSE)+比例y反转()+坐标相等()

您使用适当的x和y坐标为标签创建一个
数据框
,并使用
geom\u文本

library(ggplot2)
packing <- circleProgressiveLayout(df)
dat.gg <- circleLayoutVertices(packing)
cbind(df, packing) -> new_df
ggplot(data = dat.gg) +geom_polygon(aes(x, y, group = id, fill =  factor(id)), colour = "black",show.legend = FALSE) +
  scale_y_reverse() +coord_equal() +geom_text(data = new_df, aes(x, y,label = text))

抱歉,我的代码生成圆圈时出错,我必须得到13个圆圈,这是级别数(df$text),你知道我应该如何更正吗?@jrakru56我不确定我是否理解你的问题。你指的是有超过1个同名圆圈的事实吗?确切地说,图表@JRAKRU56中应该有13个圆圈查看
df
,有22行重复的
文本
名称。您可能缺少聚合步骤,例如计算每个
文本的出现次数
circleProgressiveLayout
未提供任何圆大小参数。这有意义吗?
new_df$text2 <- paste0(new_df$text,"\n",new_df$ID)
ggplot(data = dat.gg) +geom_polygon(aes(x, y, group = id, fill =  factor(id)), colour = "black",show.legend = FALSE) +
  scale_y_reverse() +coord_equal() +geom_text(data = new_df, aes(x, y,label = text2))