首页 > 解决方案 > 如何用ggplot2在彼此内部绘制圆圈?

问题描述

我想用ggplot2在彼此内部画两个圆圈。

到目前为止,我的努力是: 制作一个假数据并用 geom_line() 绘制它。如果我用 coord_polar() 转换它,那么我将看不到两个不同的圆圈,一个在彼此里面

library(ggplot2)
library(tidyverse)

x1=seq(0,6000000,1000)
y1=rep(1,length(x1))
y2=rep(2,length(x1))

data=as.data.frame(cbind(x1,y1,y2))

reprex 包于 2021-12-25 创建(v2.0.1)

# plot the data
ggplot(data) +
  geom_line(aes(x1,y1)) +
 geom_line(aes(x1,y2)) 
 #coord_polar() 

在此处输入图像描述

如果可能,我会避免使用 geom_circle 选项并使用 coord_polar 选项。原因是这两个圆圈在 x 轴上有一些差异,我会在画完圆圈后指出。

我希望我的情节看起来像这样 在此处输入图像描述

标签: rggplot2tidyverse

解决方案


为什么不使用两个geom_point()不同大小的和pch = 21

library(ggplot2)

df <- tibble(x = 0, y = 0)  

ggplot(df, aes(x, y)) +
  geom_point(pch = 21, size = 50) +
  geom_point(pch = 21, size = 40) +
  theme_void()

在此处输入图像描述


推荐阅读