You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ggplot2将geom_path绘制的心形填充为红色?

解决心形图填充颜色的问题

geom_path仅用于绘制线条,不支持填充属性,要实现红色填充+栗色边框的效果,推荐使用geom_polygon(专门处理闭合多边形的填充),或者叠加geom_polygon和geom_path来分别控制填充色和边框样式。

方法一:直接使用geom_polygon

将geom_path替换为geom_polygon,同时设置fill(填充色)和color(边框色)参数:

library(tidyverse)

h <- 
  data_frame(t = seq(0, (2 * pi), by = 0.005), 
             x = 13 * sin(t)^3, 
             y = 13 * cos(t) - 
               5 * cos(2 * t) - 
               2 * cos(3 * t) - 
               1 * cos(4 * t),
             chunk = floor(x)) %>%
  select(-t) 

ggplot(data = h, aes(x = x, y = y)) + 
  geom_polygon(fill = "red", color = "maroon") +
  theme_void()

方法二:叠加geom_polygon和geom_path

如果需要更精细地控制边框的粗细、透明度等,可叠加两个图层,让填充和线条分开设置:

ggplot(data = h, aes(x = x, y = y)) + 
  geom_polygon(fill = "red") +  # 先绘制填充层
  geom_path(color = "maroon", linewidth = 1) +  # 再绘制边框线层
  theme_void()

注意事项

  • 确保你的数据是闭合的多边形:这里t从0到2*pi生成的点,最后一个点和第一个点坐标几乎重合,满足闭合要求,无需额外处理。
  • 如果数据不闭合,可手动添加第一个点到数据末尾,保证多边形闭合。

内容的提问来源于stack exchange,提问作者denis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:58:15