gpt4 book ai didi

r - 如何将手绘红色圆圈添加到 ggplot2 图表中?

转载 作者:行者123 更新时间:2023-12-03 06:03:13 24 4
gpt4 key购买 nike

去年我发布了an analysis of user activity to Meta Stack Overflow ,包括一系列 ggplot2 图表。然而,Wooble指出我的情节的致命缺陷,让我感到非常羞愧:

enter image description here

手绘红色圆圈are of course necessary in any plot on Meta Stack Overflow ,但令我沮丧的是,我找不到将它们添加到 ggplot2 图表中的方法。我知道如何 add a circle ,但这样的人工构造没有个性,永远无法通过 Meta 的测试。

作为一个可重现的示例,请考虑我自己随时间的回答事件的图,它是使用 stackr 创建的封装:

# devtools::install_github("dgrtwo/stackr")
library(ggplot2)
library(dplyr)
library(lubridate)
library(stackr)

answers <- stack_users(712603, "answers", num_pages = 10, pagesize = 100)
answers_per_month <- answers %>%
mutate(month = round_date(creation_date, "month")) %>%
count(month)

ggplot(answers_per_month, aes(month, n)) + geom_line()

without freehand

这个情节信息量足够大,但没有灵魂。如何向其中添加手绘红色圆圈?

最佳答案

你可以使用我的ggfreehand包,它提供了 geom_freehand 层,该层被粗心地从 ggplot2 中省略了。

例如,如果您想圈出上图中最活跃的前两个月份,您可以使用以下代码:

top_2_months <- answers_per_month %>% top_n(2)

library(ggfreehand)
ggplot(answers_per_month, aes(month, n)) + geom_line() +
geom_freehand(data = top_2_months)

with freehand

就像这样,该情节现在值得发布在 Meta Stack Overflow 上。

geom_freehand 图层采用附加选项来自定义圆,包括半径噪声。您还可以使圆圈不为红色,就好像这是您想要做的事情一样。

p <- ggplot(answers_per_month, aes(month, n)) + geom_line()

p + geom_freehand(data = top_2, radius = .5)
p + geom_freehand(data = top_2, noisiness = 10)
p + geom_freehand(data = top_2, noisiness = 1)
p + geom_freehand(data = top_2, color = "blue")

enter image description here

关于r - 如何将手绘红色圆圈添加到 ggplot2 图表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com