У меня есть следующий data.frame:Несколько графиков с различными оси х клещей
ef2 <- data.frame(X1=c(50,100,'bb','aa'), X2=c('A','A','B','B'), value=c(1,4,3,6))
Я хочу, чтобы создать два участка, один для каждой группы в X2.
Вот код, у меня есть и сюжет получается:
ggplot(data=ef2, aes(x=X1, y=value, group=X2)) +
facet_grid(.~X2, scales="free_x") +
geom_line(size=1) +
geom_point(size=3) +
xlab('') +
ylab('Y')
Проблема состоит в том, что ось х упорядочен в алфавитном порядке, и я не знаю, как это исправить. Я попытался добавить scale_x_discrete
, но я не знаю, как разделить группы. Вы можете увидеть график I получают путем добавления этого параметра в следующей ссылке:
ggplot(data=ef2, aes(x=X1, y=value, group=X2)) +
facet_grid(.~X2, scales="free_x") +
geom_line(size=1) +
geom_point(size=3) +
xlab('') +
ylab('Y') +
scale_x_discrete(limits=ef2$X1)
Отредактировано: Я не могу изменить Ef2 data.frame. Я попытался упорядочить факторы в другом data.frame:
ef2 <- data.frame(X1=c(50,100,'bb','aa'), X2=c('A','A','B','B'), value=c(1,4,3,6))
ef2$X1 <- as.character(ef2$X1)
nou <- data.frame(X1=factor(ef2$X1), levels=ef2$X1, X2=ef2$X2, value=ef2$value)
Но это не работает.
Google «уровни фактора порядка ggplot», и вы найдете много других сообщений на эту тему. – Henrik
Моя проблема заключается не в том, чтобы упорядочить уровни факторов. Моя проблема заключается в том, как использовать мой data.frame для создания другого с упорядоченными факторами. – Marta