如何在ggplot2中同时绘制散点与圆弧?
解决ggplot2叠加散点与圆弧无法同时显示的问题
问题出在geom_arc的参数使用上:你把x0、y0、r、start、end这些固定常量参数放在了aes()内部,ggplot会尝试从你的数据框df中读取这些列,但你的数据里并没有这些列,导致圆弧无法正确渲染。
只需把这些固定参数移到aes()外部即可,修正后的代码如下:
library(ggplot2) library(ggforce) # Generate random data x <- runif(20) y <- runif(20) df <- data.frame(x = x, y = y) # Plot points and quarter circle ggplot(df, aes(x = x, y = y)) + geom_point(size = 3) + geom_arc( x0 = 0, y0 = 0, r = 1, start = 0, end = pi / 2, color = "red", size = 1 )
补充说明:只有当你需要根据数据动态调整圆弧的圆心、半径或角度范围时,才需要将这些参数放入aes()中并对应到数据框的列;如果是单一固定圆弧,直接作为geom_arc的参数传入即可。
内容的提问来源于stack exchange,提问作者compbiostats
相关产品推荐
相关产品推荐

