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

求助:如何通过ggplot2散点图判断房间数与价格的增长关系?

房间数量与价格的关系分析及可视化优化

散点图解读

你提供的散点图中,房间数属于离散型变量,每个房间数对应的价格分布区间极广,不同房间数的价格区间存在大量重叠,且高房间数(如3间及以上)的样本量较少,导致单纯的散点图过于杂乱,无法直观捕捉两者的增长趋势。

优化可视化方法

以下几种方法可以帮你更清晰地判断房间数与价格的关系:

  • 添加趋势线
    直接在散点图上叠加线性拟合趋势线,能快速呈现整体趋势:

    ggplot(df, aes(x = rooms, y = price)) + 
      geom_point() + 
      geom_smooth(method = "lm", se = FALSE)
    

    method = "lm" 指定线性回归拟合,se = FALSE 可隐藏置信区间,让趋势更突出。

  • 使用箱线图展示分布
    箱线图能清晰展示每个房间数下价格的中位数、四分位区间及异常值,对比不同房间数的价格集中趋势:

    ggplot(df, aes(x = as.factor(rooms), y = price)) + 
      geom_boxplot()
    

    把rooms转为因子类型,x轴会按离散类别展示。

  • 统计汇总后绘图
    先按房间数分组计算价格的均值/中位数及离散程度,再用带误差棒的点图展示:

    library(dplyr)
    # 生成统计汇总表
    df_summary <- df %>% 
      group_by(rooms) %>% 
      summarise(mean_price = mean(price),
                sd_price = sd(price))
    # 绘制带误差棒的均值点图
    ggplot(df_summary, aes(x = rooms, y = mean_price)) + 
      geom_point(size = 3) + 
      geom_errorbar(aes(ymin = mean_price - sd_price, ymax = mean_price + sd_price), width = 0.2)
    
  • 优化散点图显示效果
    如果仍想保留散点图,可通过调整透明度减少重叠干扰:

    ggplot(df, aes(x = rooms, y = price)) + 
      geom_point(alpha = 0.2)
    

    或对离散x轴的点添加轻微抖动,避免点完全重叠:

    ggplot(df, aes(x = rooms, y = price)) + 
      geom_jitter(width = 0.1, alpha = 0.2)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:15:46