You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

使用ggplot2绘制高频双词短语水平条形图技术求助

实现双词短语频率水平条形图的解决方案

没问题,这就帮你搞定!我们用tidyverse工具链(dplyr+ggplot2)就能轻松实现需求,步骤如下:

1. 统计高频双词短语

首先我们需要从你的数据里统计每个双词短语的出现次数,筛选出排名前10(或15)的条目:

# 加载所需包(如果没装先运行 install.packages(c("dplyr", "ggplot2", "forcats")))
library(dplyr)
library(ggplot2)
library(forcats)

# 统计频率并筛选前10个(要改15的话把n=10改成n=15即可)
top_bigrams <- bigrams_joined %>%
  count(bigrams, sort = TRUE) %>%  # 按双词短语分组计数,降序排列
  slice_head(n = 10)

2. 绘制水平条形图

接下来用ggplot2绘制水平条形图,关键是要让y轴的短语按频率从高到低排列(默认是字母序,不符合我们的需求):

ggplot(top_bigrams, aes(x = n, y = fct_reorder(bigrams, n))) +
  geom_col(fill = "#3498db") +  # geom_col等价于geom_bar(stat="identity"),更简洁
  labs(
    title = "出现频率最高的10个双词短语",
    x = "出现次数",
    y = "双词短语"
  ) +
  theme_minimal() +
  # 自定义主题样式,让图表更美观
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
    axis.text.y = element_text(size = 11),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

小提示:

  • 如果你的双词短语存在大小写不一致的情况(比如"In Practice"和"in practice"被当成不同条目),可以在count之前加一步统一格式:mutate(bigrams = str_to_lower(bigrams))(需要加载stringr包,library(stringr)
  • 填充色、主题样式都可以根据你的喜好自由调整,比如把fill改成你喜欢的颜色代码,或者换用theme_bw()等其他主题。

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

火山引擎 最新活动