首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >美学:在绘制gg Boxplot时填充警告的隐蔽性

美学:在绘制gg Boxplot时填充警告的隐蔽性
EN

Stack Overflow用户
提问于 2022-10-23 17:35:15
回答 1查看 24关注 0票数 0

我写了一个R块,它应该为我提供一个彩色的格子框。所有需要的模板都已加载,数据也是如此。

“健康”和“BodyTemperature”的数据来源于医院内部的数据。对于健康来说,可能只有0比1。

与y轴上患者的BodyTemperature相比,它应该在x轴上放置两个相邻的体表,一个显示健康(0),另一个显示不健康(1)。方框应该用“Brewer”的模板着色。

每次我试着用这个块,都会发出警告。解决办法是什么?

颜色:

代码语言:javascript
复制
colour <- brewer.pal(n = 2, name = "Set1")
colour

Warnung: n的最小值为3,返回3个不同级别的请求调色板1 "#E41A1C“"#377EB8”"#4DAF4A“

R-块

代码语言:javascript
复制
colour = brewer.pal(n = 2, name = "Set1")

ggplot(Hospital, aes(x = Healthy, y = BodyTemperature)) +
geom_boxplot(fill=c(colour)) +
  ylab("Temperature") + 
  xlab("Healthy") +
  ggtitle("Health compared to Temperature")

警告转向:

代码语言:javascript
复制
Error in `check_aesthetics()`:
! Aesthetics must be either length 1 or the same as the data (1): fill
Backtrace:
  1. base (local) `<fn>`(x)
  2. ggplot2:::print.ggplot(x)
  4. ggplot2:::ggplot_build.ggplot(x)
  5. ggplot2 (local) by_layer(function(l, d) l$compute_geom_2(d))
  6. ggplot2 (local) f(l = layers[[i]], d = data[[i]])
  7. l$compute_geom_2(d)
  8. ggplot2 (local) f(..., self = self)
  9. self$geom$use_defaults(data, self$aes_params, modifiers)
 10. ggplot2 (local) f(..., self = self)
 11. ggplot2:::check_aesthetics(params[aes_params], nrow(data))
 Error in check_aesthetics(params[aes_params], nrow(data)) :
EN

回答 1

Stack Overflow用户

发布于 2022-10-23 17:49:18

由于您想要用Healthy的值对方框进行着色,您可以通过在fill美学上映射Healthy来这样做。另外,为了使用布鲁尔调色板之一,ggplot2已经提供了一些方便的函数,在fill中,aes被称为scale_fill_brewer。不确定你是否想要一个传奇,但是IMHO没有意义,所以我通过guides删除了它。最后,由于您没有提供任何数据,所以不清楚您的Healthy列是一个数值变量还是一个分类变量。出于这个原因,我在factor中进行包装,使其明确无误。

使用一些伪造的随机示例数据:

代码语言:javascript
复制
set.seed(123)

library(ggplot2)

Hospital <- data.frame(
  Healthy = rep(c(0, 1), 50),
  BodyTemperature = runif(100)
)

ggplot(Hospital, aes(x = factor(Healthy), y = BodyTemperature)) +
  geom_boxplot(aes(fill = factor(Healthy))) +
  scale_fill_brewer(palette = "Set1") +
  ylab("Temperature") +
  xlab("Healthy") +
  ggtitle("Health compared to Temperature") +
  guides(fill = "none")

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

https://stackoverflow.com/questions/74173347

复制
相关文章

相似问题

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