首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GGPlot不会显示超过3种颜色

GGPlot不会显示超过3种颜色
EN

Stack Overflow用户
提问于 2020-09-03 05:42:32
回答 1查看 50关注 0票数 0

GGPlot仅显示前三种颜色(绿色、黄色和橙色),代码如下:

代码语言:javascript
复制
p = ggplot(MobileOutput, aes(x=`Timestamp(UTC)`,y=`PM2.5(ug/m3)`))+
  geom_point(aes(colour = cut(`PM2.5(ug/m3)`, c(0, 12.0, 35.4, 55.4, 150.4, 250.4, 500, Inf))),
             size = 0.1) +
  ylim(0,500)  +
  theme_bw() +
  scale_color_manual(name = "PM2.5",
                     values = c("(0,12]" = "green2",
                                "(12,35.4]" = "yellow2",
                                "(35.4,55.4]" = "orange",
                                "(55.4,150.4]" = "red1",
                                "(150.4, 250.4]" = "red2",
                                "(250.4, 500]" = "red3",
                                "(500, Inf]" = "red4"))
gPlotly <- ggplotly()

所有的红色仍然被绘制成看不见的清晰/白色。我可以将鼠标悬停在不可见的数据上,并看到其中的信息,以确认正在绘制该数据(见下图)。此外,绿色、黄色和橙色的点出现在图例中它们的范围旁边,而预期的红点都不在图例中。

如果我将上面的代码调整为包含3个范围,如下所示,所有颜色都显示为预期的颜色:

代码语言:javascript
复制
p = ggplot(MobileOutput, aes(x=`Timestamp(UTC)`,y=`PM2.5(ug/m3)`))+
  geom_point(aes(colour = cut(`PM2.5(ug/m3)`, c(0, 12.0, 35.4, Inf))),
             size = 0.1) +
  ylim(0,500)  +
  theme_bw() +
  scale_color_manual(name = "PM2.5",
                     values = c("(0,12]" = "green2",
                                "(12,35.4]" = "yellow2",
                                "(35.4,Inf]" = "red4"))
gPlotly <- ggplotly()

如果我添加一个额外的范围,列出的第三个项目之外的任何东西都将再次完全不可见,如第一张图像所示。

是否可以调整GGPlot,使其支持在图例和绘图中显示3种以上的颜色/范围?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 06:21:54

看起来像是cut()舍入了标签中的值:在本例中,断点都在(x+0.4)处,但在标签中较大的bin的端点是整数(150,250而不是150.4,250.4)。这将导致切割PM2.5向量中的唯一值/级别与您在比例中指定的值/级别不匹配。

代码语言:javascript
复制
 table(cut(rnorm(1000,150,200), 
    breaks=c(0, 12.0, 35.4, 55.4, 150.4, 250.4, 500, Inf)))

 (0,12]   (12,35.4] (35.4,55.4]  (55.4,150]   (150,250]   (250,500] 
     17          31          25         194         199         282 
 (500,Inf] 
     43 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63713912

复制
相关文章

相似问题

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