使用 ggplot2 绘制向日葵图

问题描述 投票:0回答:2

我三个月前在Posit Community上发布了以下问题,但尚未收到答复。我重新发布在这里希望有人能帮助我。

我有兴趣使用 ggplot2 创建向日葵图。在向日葵图中,过度绘制的点被可视化为“向日葵”,每个“叶子”代表该位置的数据点数量。虽然我熟悉图形包中的

sunflowerplot()
函数,但我正在探索 ggplot2 与其他几何图层的无缝集成。这是一个基本图形示例:

tb <- tibble::tibble(
  x = c(rep(0, 5), rep(1, 1), rep(0, 3), rep(1, 2)),
  y = c(rep(0, 5), rep(1, 1), rep(1, 3), rep(0, 2))
)
sunflowerplot(tb$x, tb$y)

我专门寻找一个 ggplot2 解决方案,它反映了

geom_count()
的功能,但使用“花瓣”的数量而不是点大小来表示计数。虽然我知道可以使用
geom_jitter()
geom_beeswarm()
等替代方案来减轻过度绘图,但我的重点仍然是制作向日葵图。

尽管在网上搜索,我还没有找到合适的 ggplot2 附加包或解决方法。 “向日葵图”一词出现在 Posit 社区中标题为“用分类数据绘制散点图”的帖子中。然而,这个讨论缺乏附带的代码,而且特色情节也不是向日葵情节。 如果有人遇到过基于 ggplot2 的向日葵图解决方案,或者有巧妙的技巧来实现这种可视化,我将非常感谢您的见解。

r ggplot2 tidyverse visualization
2个回答
0
投票

中关于自定义形状的伟大答案我已经能够做到这一点。

R 使用的默认形状库不够广泛,无法执行此操作,因此您需要使用 

ggplot2

通过在您选择的坐标之间绘制线条来创建您自己的自定义形状。

grid
可以让你将这些“grob”添加到 ggplot 中,并唱“geom_grob”。这是代码:
ggpmisc

创建于 2024-05-28,使用

reprex v2.1.0


0
投票
给予

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.