【问题标题】:R ggplot Legend shows shapes inccorectlyR ggplot Legend 显示形状不正确
【发布时间】:2017-06-23 14:25:09
【问题描述】:

ggplot 可能与图例中的 geom_point 形状混淆是否有原因?

在实际情节中,一切看起来都正确地绘制为圆形,但在图例中,它将它们显示为奇怪的框/正方形,即它显示的是:

但它应该显示这个:

可能是因为我的 geom_point 中有一个 ifelse 吗?这就是我在这部分的内容: geom_point(aes( y=y, colour=ifelse( (ty>308)&(Time < chron(times=c('08:30:30.0'))), ifelse(side=='left', 'red', 'blue'),'gray')), na.rm = T)

【问题讨论】:

  • 您能分享一个可重现的数据集示例吗?
  • 如何添加图例。我认为这与此有关。
  • 好的。包括您的代码和示例数据集。请阅读How to make a great reproducible example in R?
  • @tbone 不同类别的数据有不同的行为。有时(如here)文本会被视为整数,它会弄乱情节。该用户没有提供可重现的示例,但很庆幸他自己找到了解决方案。还有许多其他原因,例如更容易和更精确地再现错误。解决确切的问题与提供可能会或可能不会解决 OP 问题的通用方法等。干杯。

标签: r ggplot2


【解决方案1】:

这个问题实际上是因为geom_pointgeom_line都被绘制了,并且点根据size参数而变化。 ggplot 试图在一条线上显示一个点,当它小而清晰时看起来不错,但随着大小的变化变得奇怪和像盒子一样。

为了更清楚,关闭线或点的图例将只保留一个。

例如: geom_line(aes(y=foo , colour='green'), show.legend = F)

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2021-07-13
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 2021-01-08
    相关资源
    最近更新 更多