Используя tidyverse, я предлагаю следующее:
library(tidyverse)
city <- c("Paris", "New York", "Rio", "Salvador", "Curitiba", "Natal")
value <- c(10,20,30,10,10,10)
data <- data.frame(city, value)
db <- as_tibble(data)
db %>%
ggplot(aes(x = reorder(city, -value), y=value))+
geom_col()
Функция «изменить порядок» в определении «x» создает то, что вы хотите, и соблюдается алфавитный порядок.
Для сделайте этот график вертикально, в конце добавьтеordin_flip. «-Значение» можно переключить на «значение», если вы хотите изменить порядок
library(tidyverse)
city <- c("Paris", "New York", "Rio", "Salvador", "Curitiba", "Natal", "Zoo", "Aaa")
value <- c(10,20,30,10,10,10,10,10)
data <- data.frame(city, value)
db <- as_tibble(data)
db %>%
ggplot(aes(x = reorder(city, value), y=value))+
geom_col() +
coord_flip()