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

如何在R中实现双变量斜率图及#HashtagX用户推文贡献分析

嘿,我帮你把#HashtagX的用户分析结果整理清楚,同时手把手教你在R里实现双变量斜率图👇

#HashtagX用户贡献分析结果
  • 累计共有14432位用户曾使用#HashtagX发布推文
  • 仅20位核心用户就贡献了该话题下推文总量的20.68%,而这部分用户仅占总用户数的0.001%
  • 推文数量排名前100的用户,贡献了该话题下**44%**的推文
  • 当范围扩展至排名前500的用户时,推文贡献占比进一步提升至72%
在R中实现双变量斜率图的方法

双变量斜率图非常适合对比不同分组下两个指标的变化趋势,这里我们用最常用的ggplot2包来实现,步骤如下:

1. 准备工作(安装并加载包)

如果还没安装ggplot2,先执行安装命令,再加载包:

# 安装ggplot2包(首次使用时执行)
install.packages("ggplot2")
# 加载包
library(ggplot2)

2. 构造数据

我们可以基于你的分析数据构造示例数据集,包含用户分组、推文占比、用户占比三个字段:

# 构造适配斜率图的数据集
slope_data <- data.frame(
  user_group = c("Top 20 Users", "Top 100 Users", "Top 500 Users"),
  tweet_contribution = c(20.68, 44, 72),
  user_proportion = c(0.001, round(100/14432*100, 4), round(500/14432*100, 4))
)

3. 绘制基础双变量斜率图

用geom_line和geom_point分别绘制两个指标的趋势线和标记点,同时添加清晰的标签和样式:

# 绘制基础双变量斜率图
ggplot(slope_data, aes(x = user_group)) +
  # 绘制推文贡献占比的线与点
  geom_line(aes(y = tweet_contribution, group = 1, color = "推文贡献占比"), size = 1.2) +
  geom_point(aes(y = tweet_contribution, color = "推文贡献占比"), size = 3) +
  # 绘制用户占比的线与点
  geom_line(aes(y = user_proportion, group = 2, color = "用户占比"), size = 1.2) +
  geom_point(aes(y = user_proportion, color = "用户占比"), size = 3) +
  # 设置坐标轴与标题
  labs(
    x = "用户分组",
    y = "百分比",
    title = "#HashtagX用户分组贡献趋势对比",
    color = "指标类型"
  ) +
  # 优化主题样式
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
    axis.title = element_text(size = 12),
    legend.title = element_text(size = 11)
  )

4. 进阶:添加数值标签

如果想让图表更直观,可以给每个点添加对应的数值标签:

# 带数值标签的进阶版斜率图
ggplot(slope_data, aes(x = user_group)) +
  geom_line(aes(y = tweet_contribution, group = 1, color = "推文贡献占比"), size = 1.2) +
  geom_point(aes(y = tweet_contribution, color = "推文贡献占比"), size = 3) +
  # 添加推文占比的数值标签
  geom_text(aes(y = tweet_contribution, label = paste0(tweet_contribution, "%")), 
            vjust = -1, color = "#2E86AB", size = 4) +
  geom_line(aes(y = user_proportion, group = 2, color = "用户占比"), size = 1.2) +
  geom_point(aes(y = user_proportion, color = "用户占比"), size = 3) +
  # 添加用户占比的数值标签
  geom_text(aes(y = user_proportion, label = paste0(user_proportion, "%")), 
            vjust = -1, color = "#F24C4E", size = 4) +
  labs(
    x = "用户分组",
    y = "百分比",
    title = "#HashtagX用户分组贡献趋势对比",
    color = "指标类型"
  ) +
  # 自定义颜色
  scale_color_manual(values = c("推文贡献占比" = "#2E86AB", "用户占比" = "#F24C4E")) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
    axis.title = element_text(size = 12),
    legend.title = element_text(size = 11)
  )

这样就能清晰展示不同用户分组下,推文贡献占比和用户数量占比的变化趋势啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:06:45