首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >堆叠条形图中的顺序变化

堆叠条形图中的顺序变化
EN

Stack Overflow用户
提问于 2018-11-22 08:07:35
回答 1查看 104关注 0票数 1

尽管我已经阅读了所有我能找到的例子,但我仍在努力修正我的堆叠条形图的顺序。它绝对不是根据数据中的顺序堆叠的,这似乎是一个常见的答案。

我设法把标签改成了正确的顺序,但情节本身却很顽固。

我想手动输入订单,因为它不遵循模式。

数据

代码语言:javascript
运行
复制
sdi_table_2<-read.table(text="'Over 50' 'Under 50'
'Intellectual Disability' 154814 214279
'Other Mental Health' 1387315 1012520
Injuries 240033 116167
Musculo-Skeletal 2041162 447212
'Nervous System' 530179 272756
'Circulatory, Respiratory, Endocrine, and Neoplasms' 1281261 260737
'Other and Unknown' 404973 212136", header=TRUE, check.names=F)
sdi_data_2<-as.data.frame.matrix(sdi_table_2)
sdi_data_2$type<-rownames(sdi_data_2)
sdi_data_2<-melt(sdi_data_2,id.vars = c("type"), value.name = "Beneficiaries")
sdi_data_2$variable <- as.character(sdi_data_2$variable)
colnames(sdi_data_2)[2] <- "Age"
factor(sdi_table_2$type, levels = sdi_table_2$type, ordered = TRUE)

代码语言:javascript
运行
复制
ggplot() +
  geom_bar(aes(y = Beneficiaries, x = Age, fill = type),
           data = sdi_data_2,
           stat = "identity") +
  theme_bw() +
  scale_y_continuous(label = comma) +
  scale_fill_manual(
    name = "",
    values = c(
      "Injuries" = "orange2",
      "Circulatory, Respiratory, Endocrine, and Neoplasms" =
        "sandybrown",
      "Nervous System" = "peachpuff",
      "Intellectual Disability" = "skyblue2",
      "Musculo-Skeletal" = "royalblue3",
      [enter image description here][1] "Other and Unknown" =
        "lightgoldenrod1",
      "Other Mental Health" = "royalblue1"
    ),
    breaks = c(
      "Other and Unknown",
      "Injuries",
      "Circulatory, Respiratory, Endocrine, and Neoplasms",
      "Nervous System",
      "Musculo-Skeletal",
      "Other Mental Health",
      "Intellectual Disability"
    )
  )
EN

回答 1

Stack Overflow用户

发布于 2018-11-22 09:35:33

我不知道我是否理解你的问题。但您可以使用该因素的级别来订购您的类型。

代码语言:javascript
运行
复制
sdi_data_2$type <- factor(sdi_data_2$type, levels = c("Circulatory, Respiratory, Endocrine, and Neoplasms","Nervous System","Injuries","Other Mental Health","Other and Unknown","Musculo-Skeletal","Intellectual Disability"))
sdi_data_2$Age <- factor(sdi_data_2$Age,levels = c("Under 50","Over 50"))

然后再策划:

代码语言:javascript
运行
复制
ggplot() + geom_bar(aes(y = Beneficiaries, x = Age, fill = type), data = sdi_data_2, stat = "identity") + theme_bw()

其结果是:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53426374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档