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

如何让ggplot中geom_point散点图的点大小取决于数据计数?

解决ggplot散点图点大小匹配分组计数的问题

有两种常用方法可以实现让点的大小对应Season和type组合的行数(计数):

方法一:提前统计分组计数后绘图

先通过数据预处理统计每个分组的行数,再将计数映射到点的size属性:

library(dplyr)
library(ggplot2)

# 统计每个Season-type组合的行数,结果存为count列
df_count <- df %>% 
  count(Season, type, name = "count")

# 绘制散点图,size绑定count列
ggplot(df_count, aes(x = Season, y = type, size = count)) +
  geom_point(fill = "blue", shape = 21)

注:使用shape=21是因为这个形状支持填充色(fill)设置,默认实心点的fill属性不会生效。

方法二:直接在绘图时计算计数

无需预处理数据,利用ggplot的stat(count)直接在图层中获取分组计数:

library(ggplot2)

ggplot(df, aes(x = Season, y = type)) +
  geom_point(aes(size = stat(count)), fill = "blue", shape = 21) +
  scale_size_continuous(name = "分组行数") # 可选:自定义图例名称

如果需要调整点的大小范围,可以添加scale_size_continuous(range = c(2, 10))参数,修改range内的数值来控制最小和最大点的尺寸。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:20:39