Как я могу исправить мои перемешанные метки оси X в ggplot2?

У меня есть график, на котором метки оси X не являются одинаковыми. Используя axis.text.x = element_text(), я повернул метки на -45 градусов и переместил их вверх при значении vjust = 1. Однако слова на оси x сами по себе перемешаны, и каждая отдельная метка не выглядит повернутой равномерно. Как я могу это исправить?

Во-первых, буквы кажутся неравномерно расположенными. Обратите внимание на "nh" в Эйзенхауэре, "Ca" и "rt" в Картере и "Bu" в W_Bush. Во-вторых, сами слова на этикетке расположены неравномерно, и это особенно заметно от Картера до W_Bush.

можно найти здесь

Код:

bp <-
  ggplot(df1, aes(
  x = df1$President,
  y = df1$Count,
  fill = df1$President
)) + geom_bar(stat = "identity", width = 0.5) + theme(axis.text.x = element_text(
  angle = -45,
  hjust = 0,
  vjust = 1
)) + labs(
  title = "Executive Orders Issued by President",
  subtitle = "After World War II",
  x = "President",
  y = "Count"
) + theme(legend.position = "none")

Заранее спасибо!

1 ответ

Решение

В этом случае я бы использовал coord_flip разместить имена по оси Y, избегая необходимости вращения. Я бы также использовал один цвет для баров и подумал о переупорядочении.

# Example data:

presidents <- structure(list(President = c("George Washington", "John Adams", 
                                           "Thomas Jefferson", "James Madison", 
                                           "James Monroe", "John Quincy Adams", 
                                           "Andrew Jackson", "Martin van Buren", 
                                           "William Henry Harrison", "John Tyler"), 
                             Number = c(8, 1, 4, 1, 1, 3, 12, 10, 0, 17)), 
                             row.names = c(NA, 10L), 
                             class = "data.frame", 
                             .Names = c("President", "Number"))

presidents %>% 
    ggplot(aes(reorder(President, Number), Number)) + 
      geom_col(fill = "skyblue3") + 
      coord_flip() +
      labs(x = "President")

введите описание изображения здесь

Другие вопросы по тегам