【问题标题】:Plotting a bar plot in percentage instead of count以百分比而不是计数绘制条形图
【发布时间】:2021-03-12 15:51:03
【问题描述】:

下面的代码是来自 kaggle 的 Netflix 数据的数据可视化,我想用百分比而不是计数来绘制下面的图

 netflix %>% 
      #removed 2021 because the year has not yet ended
      filter(release_year != 2021)  %>% 
      #transform the release year into characters
      transform(release_year = as.character(release_year)) %>%
      group_by(release_year) %>% 
      summarize(no_of_movies = n()) %>% 
      arrange(desc(release_year)) %>% 
      head(10) %>% 
      #plot a bar plot of each year against the no of movies released each year
      ggplot(aes(x = reorder(release_year, no_of_movies), y = no_of_movies, 
                                    fill= release_year)) + 
      geom_bar(stat = "identity", width = 0.8) + 
      xlab("Release Year") +
      ylab("Number of Movies") +
      ggtitle("Top 10 Years with highest release")

以下是数据源https://www.kaggle.com/shivamb/netflix-shows

【问题讨论】:

    标签: r ggplot2 data-visualization tidyverse


    【解决方案1】:

    您可以尝试以下方法-

    library(dplyr)
    library(ggplot2)
    
    netflix %>% 
      #removed 2021 because the year has not yet ended
      filter(release_year != 2021)  %>% 
      #transform the release year into characters
      transform(release_year = as.character(release_year)) %>%
      count(release_year, name = 'perc_of_movies')
      mutate(perc_of_movies = prop.table(perc_of_movies)) %>%
      arrange(desc(release_year)) %>% 
      head(10) %>% 
      ggplot(aes(x = reorder(release_year, perc_of_movies), y = perc_of_movies, 
                 fill= release_year)) + 
      geom_bar(stat = "identity", width = 0.8) + 
      xlab("Release Year") +
      ylab("Percentage of Movies") +
      ggtitle("Top 10 Years with highest release")
    

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 2016-06-12
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      相关资源
      最近更新 更多