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

如何用ggpattern实现多边形点密度不同但点尺寸一致?

解决ggpattern点状图案密度不同但点尺寸一致的问题

要实现不同多边形(柱子)内点状图案密度不同,但所有点尺寸保持一致,关键是固定点的大小并关闭spacing对元素的自动缩放,具体修改代码如下:

library(ggplot2)
library(ggpattern)

# 模拟示例数据(可替换为你的实际数据)
df <- data.frame(
  trt = c("A", "B", "C"),
  outcome = c(2, 4, 6)
)

ggplot(df, aes(trt, outcome)) +
  geom_col_pattern(
    aes(fill = trt, pattern_spacing = outcome/3),
    pattern = 'pch',
    pattern_size = 2,  # 固定所有点的尺寸,数值可按需调整
    pattern_scale = 1, # 禁用spacing对元素大小的自动缩放,仅控制密度
    pattern_fill = "black" # 自定义点的颜色,可选
  ) +
  theme_minimal()

参数说明:

  • pattern_size = 2:直接指定所有点状图案的固定尺寸,确保不同柱子里的点大小完全一致。
  • pattern_scale = 1:默认情况下,ggpattern会根据pattern_spacing的数值自动缩放图案元素大小,设置为1可以关闭这个机制,让pattern_spacing仅控制点之间的间距(间距越小,密度越高)。
  • pattern_spacing的映射逻辑:你可以根据需求调整映射的计算方式,比如如果需要面积越大的柱子点密度越高,可改为pattern_spacing = 1/outcome(数值越小,点越密集),灵活适配你的目标效果。

内容的提问来源于stack exchange,提问作者Gabriel De Oliveira Caetano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:30:51