首页 > 解决方案 > 创建一个 geom_bar,并根据每个帐户说出单词的次数为每个条着色

问题描述

ggplot我有一个数据框,我需要使用该函数创建一个最常用单词的条形图。我想根据用户说出该词的次数为每个条形着色。

name <- c('Luca', 'Marco','Alberto', 'Luca', 'Marco')
word <- c('pizza', 'cola', 'pizza','cola','pizza')
count <- c(3,5,6,4,1)
total_count <- c (10, 9,10,9,10)
df <- data.frame(name,word,count,total_count)

计数列表示该人(姓名)说出该词的次数。Total_count而是表示该词总共说了多少次(不管是谁说的)。

这是一个图像作为其外观的示例。

https://i.stack.imgur.com/AZNQc.png

标签: rggplot2colorbargeom-bar

解决方案


geom_bar期望类似于以下的未汇总数据

  name    word 
   <fct>   <fct>
 1 Luca    pizza
 2 Luca    pizza
 3 Luca    pizza
 4 Marco   cola 
 5 Marco   cola 
 6 Marco   cola 
 7 Marco   cola 
 8 Marco   cola 
 9 Alberto pizza
10 Alberto pizza
11 Alberto pizza
12 Alberto pizza
13 Alberto pizza
14 Alberto pizza
15 Luca    cola 
16 Luca    cola 
17 Luca    cola 
18 Luca    cola 
19 Marco   pizza

您的数据已经汇总,因为它有该count列。要从汇总数据创建条形图,您可以使用geom_col

name <- c('Luca', 'Marco','Alberto', 'Luca', 'Marco')
word <- c('pizza', 'cola', 'pizza','cola','pizza')
count <- c(3,5,6,4,1)
total_count <- c (10, 9,10,9,10)
df <- data.frame(name,word,count,total_count)

ggplot(df, aes(y=word, x=count, fill=name)) + 
  geom_col()

在此处输入图像描述


推荐阅读