在R图表上对数据标签进行排序

在R图表上对数据标签进行排序,r,sorting,graph,R,Sorting,Graph,我刚刚开始学习如何使用R,并且正在学习在线教程。我已经创建了一个排序的、圆形打印的条形图,但现在我想添加数据标签。 我不知道如何对标签进行排序,使其显示在正确的栏上。 这是我的密码: library(tidyverse) data <- data.frame( id=seq(1,11), name=AllMyLego$`Grouped Themes`, value=AllMyLego$`Minifigs` ) label_data <- data number_of_

我刚刚开始学习如何使用R,并且正在学习在线教程。我已经创建了一个排序的、圆形打印的条形图,但现在我想添加数据标签。 我不知道如何对标签进行排序,使其显示在正确的栏上。 这是我的密码:

library(tidyverse)

data <- data.frame(
  id=seq(1,11),
  name=AllMyLego$`Grouped Themes`,
  value=AllMyLego$`Minifigs`
)

label_data <- data
number_of_bar <- nrow(label_data)
angle <- 90-360*(label_data$id-0.5)/number_of_bar
label_data$hjust<-ifelse(angle < -90, 1, 0)
label_data$angle <- ifelse(angle < -90, angle+180, angle)

data %>%
  mutate(name = fct_reorder(name, value)) %>%

  ggplot( aes(x=name, y=value)) +
    geom_bar(stat="identity", fill=alpha("dark green",0.5)) +
    ylim(-50,280)+
    theme_minimal()+
    theme(axis.text = element_blank(),
         axis.title = element_blank(),
         panel.grid = element_blank(),
         plot.margin = unit(rep(-2,4),"cm"))+
    coord_polar(start=0)+

geom_text(data=label_data, aes(x=id, y=value+10, label=name, hjust=hjust), color="black", fontface="bold",alpha=0.6, size=2.5, angle= label_data$angle, inherit.aes = FALSE )
库(tidyverse)

数据我想你在寻找这个:


label\u data我想您正在寻找:


label_data Hi Keith。如果您可以共享数据,这应该是一个简单的解决方案。如果没有这一点,我们将不得不尝试重建一个类似的数据集,这可能只会造成混乱。你能在控制台中键入
dput(AllMyLego)
并从控制台复制输出,然后使用问题下方的灰色“编辑”链接,并将结果粘贴到代码块中的问题中吗?@AllanCameron我已经为问题添加了数据,谢谢Keith。如果您可以共享数据,这应该是一个简单的解决方案。如果没有这一点,我们将不得不尝试重建一个类似的数据集,这可能只会造成混乱。您能在控制台中键入
dput(AllMyLego)
并从控制台复制输出,然后使用问题下方的灰色“编辑”链接,并将结果粘贴到您的问题的代码块中吗?@AllanCameron我已为问题添加了数据,谢谢
AllMyLego <- structure(list(`Grouped Themes` = structure(1:11, .Label = c("City", 
"Dimensions", "Film and TV", "Ideas", "Lego Movies", "Ninjago", 
"Other", "Pirates", "Seasonal", "Star Wars", "Super Heroes"), class = "factor"), 
    Minifigs = c(105L, 9L, 22L, 9L, 57L, 154L, 49L, 11L, 39L, 
    255L, 67L)), class = "data.frame", row.names = c(NA, -11L
))