我有一个散点图,饼图绘制在 x 和 y 轴上。如何添加连接馅饼的直线?理想情况下,我希望这些线连接饼图中心点下方的 y 值。
我尝试添加geom_path
,但没有成功。
这个问题是我之前发布的这个问题的后续。
我的数据
library(tidyverse)
library(scatterpie)
my_df <- structure(list(day_in_july = 13:20, yes_and_yes = c(0.611814345991561,
0.574750830564784, 0.593323216995448, 0.610539845758355, 0.650602409638554,
0.57429718875502, 0.575971731448763, 0.545454545454545), yes_but_no = c(0.388185654008439,
0.425249169435216, 0.406676783004552, 0.389460154241645, 0.349397590361446,
0.42570281124498, 0.424028268551237, 0.454545454545455), y = c(0.388185654008439,
0.425249169435216, 0.406676783004552, 0.389460154241645, 0.349397590361446,
0.42570281124498, 0.424028268551237, 0.454545454545455)), row.names = c(NA,
-8L), class = c("tbl_df", "tbl", "data.frame"))
我目前的散点图
p <- ggplot(data = my_df) +
geom_scatterpie(aes(x = day_in_july, y = y*50, r = 0.3),
data = my_df,
cols = colnames(my_df)[2:3],
color = "red") +
geom_text(aes(y = y*50, x = day_in_july,
label = paste0(formatC(y*100, digits = 3), "%")),
nudge_y = 0.07, nudge_x = -0.25, size = 3) +
geom_text(aes(y = y*50, x = day_in_july,
label = paste0(formatC((1-y)*100, digits = 3), "%")),
nudge_y = -0.07, nudge_x = 0.25, size = 3) +
scale_fill_manual(values = c("pink", "seagreen3")) +
scale_x_continuous(labels = xvals, breaks = xvals) +
scale_y_continuous(name = "yes but no",
labels = function(x) x/50) +
coord_fixed()
> p
我想连接饼图来表达一段时间内的趋势,例如:
基本上,我想连接每个饼图后面的 y 值,以使线位于饼图后面。
我尝试添加
geom_path()
. 但它没有用,我只是得到相同的情节,没有线条。也试过geom_line
没有成功。
p + geom_path(x = as.numeric(my_df$day_in_july), y = my_df$yes_but_no)