R ggplot2条形图

R ggplot2 bar plot

我已经将一些代码链接在一起来创建我当前的图表。我唯一的问题是我在 x 轴上的标签被打印在彼此之上。有谁知道解决方案?另外,有没有一种方法可以将我的 x 轴标签从大到小组织起来?谢谢。 这是我正在使用的数据集:

    structure(list(Resort = c("Park City", "Powder Mountain", "Snowbird", 
    "Alta", "Snow Basin", "Deer Valley"), `Named Runs` = c(348, 154, 140, 116, 107, 103)), 
    row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))

这是我的代码:

   library(readxl)
   library(ggplot2)
   library(dplyr)
   Utah_ski_resort_data_ <- read_excel("Desktop/Utah ski resort data..xlsx")

   View(Utah_ski_resort_data_)

   table(Utah_ski_resort_data_$Resort)
   table(Utah_ski_resort_data_$`Named Runs`)

   Utah_ski_resort_data_ %>% 
     ggplot(aes(x = Resort, y = `Named Runs`)) +
     geom_bar(stat = "identity")

我建议使用reorder排序,旋转标签避免重叠:

Utah_ski_resort_data_ <- structure(list(Resort = c("Park City", "Powder Mountain", "Snowbird", 
                          "Alta", "Snow Basin", "Deer Valley"), `Named Runs` = c(348, 154, 140, 116, 107, 103)), 
          row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
library(ggplot2)
library(dplyr)
Utah_ski_resort_data_ %>% 
  ggplot(aes(x = reorder(Resort, -`Named Runs`), y = `Named Runs`)) +
  geom_bar(stat = "identity") + 
  theme(axis.text.x = element_text(angle = 60, hjust = 1))

您可以通过输入 ?reorder?ggplot2::element_text 找到更多信息。

像这样?

library(tidyverse)
Utah_ski_resort_data_  <- structure(list(Resort = c("Park City", "Powder Mountain", "Snowbird", 
                               "Alta", "Snow Basin", "Deer Valley"), `Named Runs` = c(348, 154, 140, 116, 107, 103)), 
               row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))

Utah_ski_resort_data_ %>% 
  ggplot(aes(x = reorder(Resort, -`Named Runs`),
             y = `Named Runs`)) +
  geom_bar(stat = "identity")+
  scale_x_discrete(guide = guide_axis(n.dodge = 2))+
  theme(axis.title.x=element_blank())

reprex package (v0.3.0)

创建于 2020-12-02