簡體   English   中英

ggplot2:單杠

[英]ggplot2: Horizontal bars

我正在嘗試我在這里找到的一個示例,其中使用 ggplot2 繪制數據。 代碼如下所示:

raw_text %>%
  group_by(newsgroup) %>%
  summarize(messages = n_distinct(id)) %>%
  ggplot(aes(messages, newsgroup)) +
  geom_col() +
  labs(y = NULL)

圖中的條應該是水平的,即從左到右,但對我來說它們是垂直的:

在此處輸入圖像描述

我必須改變什么才能獲得單杠?

我會試試這個:

#Code
raw_text %>%
  group_by(newsgroup) %>%
  summarize(messages = n_distinct(id)) %>%
  ggplot(aes(y=messages, x=newsgroup)) +
  geom_col() +
  labs(y = NULL)+
  coord_flip()

我通過下載數據復制了您指定的示例。 我的 plot 看起來像:

在此處輸入圖像描述

給出的代碼:

library(dplyr)
library(tidyr)
library(purrr)
library(readr)
library(ggplot2)

# dataset has to be downloaded see question user1406177
training_folder <- "data/20news-bydate-train/"

# Define a function to read all files from a folder into a data frame
read_folder <- function(infolder) {
  tibble(file = dir(infolder, full.names = TRUE)) %>%
    mutate(text = map(file, read_lines)) %>%
    transmute(id = basename(file), text) %>%
    unnest(text)
}

raw_text <- tibble(folder = dir(training_folder, full.names = TRUE)) %>%
  mutate(folder_out = map(folder, read_folder)) %>%
  unnest(cols = c(folder_out)) %>%
  transmute(newsgroup = basename(folder), id, text)

raw_text %>%
  group_by(newsgroup) %>%
  summarize(messages = n_distinct(id)) %>%
  ggplot(aes(messages, newsgroup)) +
  geom_col() +
  labs(y = NULL)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM