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

R语言技术协助:绘制同图多类别彩色散点图(NO2分位数vs Hb)

R语言绘制分类变量分位数分组的散点图

下面提供两种常用实现方式,均能将NO2按分位数分组后,用不同颜色展示每组与Hb的散点关系:

方法一:使用ggplot2包(推荐)

ggplot2是R中最常用的可视化工具,代码简洁且美观:

  1. 先加载包并对NO2进行分位数分组
# 加载包
library(ggplot2)

# 假设你的数据集名为df,将NO2按四分位数分为4组(可调整probs参数改变分组数)
df$NO2_quantile <- cut(df$NO2, 
                       breaks = quantile(df$NO2, probs = seq(0, 1, 0.25), na.rm = TRUE),
                       include.lowest = TRUE,
                       labels = c("Q1", "Q2", "Q3", "Q4"))
  1. 绘制散点图
ggplot(df, aes(x = NO2, y = Hb, color = NO2_quantile)) +
  geom_point(alpha = 0.7) + # alpha设置点的透明度,避免重叠遮挡
  labs(title = "NO2分位数分组与Hb的散点关系",
       x = "NO2",
       y = "Hb",
       color = "NO2分位数") +
  theme_bw() # 使用简洁的黑白主题

方法二:使用基础绘图系统

如果你习惯用R基础绘图,可通过以下代码实现:

  1. 同样先对NO2进行分位数分组
# 分组为4个分位数区间
df$NO2_group <- ntile(df$NO2, 4)
# 将分组转为因子,方便设置颜色和标签
df$NO2_group <- factor(df$NO2_group, labels = c("Q1", "Q2", "Q3", "Q4"))

# 定义对应每组的颜色
group_colors <- c("red", "blue", "green", "orange")
  1. 逐步绘制散点图
# 先绘制第一组的散点
plot(df$NO2[df$NO2_group == "Q1"], df$Hb[df$NO2_group == "Q1"],
     col = group_colors[1], pch = 16,
     xlab = "NO2", ylab = "Hb", main = "NO2分位数分组与Hb的散点关系")

# 依次叠加其他组的散点
points(df$NO2[df$NO2_group == "Q2"], df$Hb[df$NO2_group == "Q2"],
       col = group_colors[2], pch = 16)
points(df$NO2[df$NO2_group == "Q3"], df$Hb[df$NO2_group == "Q3"],
       col = group_colors[3], pch = 16)
points(df$NO2[df$NO2_group == "Q4"], df$Hb[df$NO2_group == "Q4"],
       col = group_colors[4], pch = 16)

# 添加图例
legend("topright", legend = levels(df$NO2_group),
       col = group_colors, pch = 16, title = "NO2分位数")

注意事项

  • 若数据存在缺失值,记得在计算分位数时加入na.rm = TRUE参数
  • 可根据需求调整分组数量(修改seq(0,1,0.25)中的步长,比如改为0.2就是5组)
  • pch参数可调整散点的形状,按需修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:50:28