r - 如何手动更改 ggplot2 中图例中的关键标签

标签 r label key ggplot2

我正在准备要出版的情节。我创建了一个堆积箱形图来显示每组中患有血清阴性病例复杂积累的患者与非血清阴性患者的频率。图例使用数据框中的标签,这些标签适合我们正在从事该项目的人,但不适合发布。我想将这些名称更改为读者更容易理解的名称。

例如运行以下脚本

grp <- gl(n=4,k=20,labels=c("group a","group b","group c", "group d"))
value <- runif(n=80, min=10, max=150)
outcome <- cut(value,2)
data <- data.frame(grp,value,outcome)
ggplot(data, aes(grp, fill=outcome)) + geom_bar() +xlab("group") 
             +ylab("number of subjects") + labs(fill="Serologic response")

该代码创建了不适合发布的关键标签“(10.4,80]”和“(80,150]”。相反,我想要“双负”和“a 和/或 b 为正”。

我想我可以返回数据帧并进行转换以获取具有正确标签的新变量。 Or I could just relabel my factor ?不过,我更愿意在绘图时进行。

最佳答案

标准方法是使用比例函数来更改组的显示标签。您可以将 ggplot 调用替换为

ggplot(data, aes(grp, fill=outcome)) + geom_bar() +xlab("group") +
  ylab("number of subjects") + 
  scale_fill_discrete("Serologic response", 
                      breaks=c("(10.1,79.9]","(79.9,150]"), 
                      labels=c("double negative", "positive for a and/or b"))

请注意,比例的标题已合并到 scale_fill_discrete 调用中。如果您愿意,您也可以使用轴来完成此操作

ggplot(data, aes(grp, fill=outcome)) + geom_bar() +
  scale_x_discrete("group") +
  scale_y_continuous("number of subjects") + 
  scale_fill_discrete("Serologic response", 
                      breaks=c("(10.1,79.9]","(79.9,150]"), 
                      labels=c("double negative", "positive for a and/or b"))

关于r - 如何手动更改 ggplot2 中图例中的关键标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7323191/

相关文章:

r - countif 像 r 中的 excel 函数

在 ggplot2 中旋转 x 轴标签和更改主题

r - scale_fill_discrete 不更改标签名称

javascript - 使用 markercluster 时从 map 标记中删除标签

r - 在R中的ggmap中的geom_polygon数据上绘制文本标签

r - 如何在特定文本匹配上替换 R 中的值 NA

c# - 在打开表单之前设置所有标签字体

javascript - 跟踪是否在输入字段中按下了退格键或删除键

ios - 在 Info.plist 中为通用应用程序设置 Main nib?

ssh - 如何使ssh使用不同的id_dsa