изменить отображение нескольких переменных ggplot - PullRequest
0 голосов
/ 05 августа 2020

У меня вопрос, связанный с отображением порядка ggplot vriables. Последний график ggplot показывает, что порядок построения такой: «P_1, P_105, P_196, P_238, P_31,, P_322, P_43, P_53, P_67, P_77 P_9». Я хочу, чтобы график был таким, как «P_1, P_9, P_31, P_43, P_53, P_67, P_77, P_238, P_105, P_196, P_238, P_322». может кто хлэп?

data = data.frame(P_1 = sample(1:100, 100, replace=TRUE),
                  P_9 = sample(1:100, 100, replace=TRUE),
                  P_31 = sample(1:100, 100, replace=TRUE),
                  P_43 = sample(1:100, 100, replace=TRUE),
                  PM_43 = sample(1:100, 100, replace=TRUE),
                  P_53 = sample(1:100, 100, replace=TRUE),
                  PM_53 = sample(1:100, 100, replace=TRUE),
                  P_67 = sample(1:100, 100, replace=TRUE),
                  P_77 = sample(1:100, 100, replace=TRUE),
                  P_105 = sample(1:100, 100, replace=TRUE),
                  P_196 = sample(1:100, 100, replace=TRUE),
                  P_238 = sample(1:100, 100, replace=TRUE),
                  PM_238 = sample(1:100, 100, replace=TRUE),
                  PM_322 = sample(1:100, 100, replace=TRUE),
                  P_322 = sample(1:100, 100, replace=TRUE))

data <- data %>% select(-contains("PM_"))
hist_data <- data %>% gather(var, value, P_1:P_322)
ggplot(data = hist_data, aes(value)) + geom_histogram(aes(x=value)) + facet_wrap(~var, scales = "free", ncol = 5)

1 Ответ

1 голос
/ 05 августа 2020

Попробуйте это. Это проблема этикеток. Основываясь на вашем вопросе, вам нужен тот же порядок, что и исходные данные. Его можно настроить с помощью следующего кода:

library(tidyverse)
data = data.frame(P_1 = sample(1:100, 100, replace=TRUE),
                  P_9 = sample(1:100, 100, replace=TRUE),
                  P_31 = sample(1:100, 100, replace=TRUE),
                  P_43 = sample(1:100, 100, replace=TRUE),
                  PM_43 = sample(1:100, 100, replace=TRUE),
                  P_53 = sample(1:100, 100, replace=TRUE),
                  PM_53 = sample(1:100, 100, replace=TRUE),
                  P_67 = sample(1:100, 100, replace=TRUE),
                  P_77 = sample(1:100, 100, replace=TRUE),
                  P_105 = sample(1:100, 100, replace=TRUE),
                  P_196 = sample(1:100, 100, replace=TRUE),
                  P_238 = sample(1:100, 100, replace=TRUE),
                  PM_238 = sample(1:100, 100, replace=TRUE),
                  PM_322 = sample(1:100, 100, replace=TRUE),
                  P_322 = sample(1:100, 100, replace=TRUE))

data <- data %>% select(-contains("PM_"))
hist_data <- data %>% gather(var, value, P_1:P_322)
#Format variable
hist_data$var <- factor(hist_data$var,levels = names(data),ordered = T)
ggplot(data = hist_data, aes(value)) + geom_histogram(aes(x=value)) + facet_wrap(~var, scales = "free", ncol = 5)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...