You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ggplot用viridis填充因子变量报错:Binned scales only support continuous data

问题解决:ggplot使用viridis配色时报错“Binned scales only support continuous data”

错误核心原因

你调用的scale_fill_viridis_b()是针对连续型数据的分箱配色函数,但你的Tier是因子(离散型变量),数据类型不匹配导致报错。

代码修正细节

除了配色函数,代码里还有两处语法错误需要修正:

  • gqtitle是拼写错误,正确写法为ggtitle
  • element_text(angle: 90)里的冒号要改成等号,R语言中参数赋值使用=而非:

修正后的完整代码

ggplot(tiering, aes(x = Participant.Type)) +
  geom_bar(aes(fill = Tier)) +
  theme_classic() +
  ggtitle("Main phenotypes") +
  labs(x = "Participant Category", y = "Frequency") +
  theme(axis.text.x = element_text(angle = 90, just = 0.5)) +
  scale_y_continuous(limits = c(0, 300)) +
  scale_fill_viridis_d()  # 替换为离散变量适配的viridis配色函数

额外说明

  • geom_bar默认会自动统计每个分组的频数,无需在aes中手动指定..count..,直接定义x轴变量即可正常显示计数。
  • 如果你的Tier是有序因子,还可以通过scale_fill_viridis_d(option = "plasma", direction = 1)调整配色预设方案(可选"viridis""magma""plasma"等)和颜色渐变方向。

内容的提问来源于stack exchange,提问作者Ar1229

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:05:22