2016-05-15 3 views
1

Я использую пакет ggplot в R, чтобы построить простой граф точек с номером «Лекция» на xlab и «музыкальной неделей» на ylab.Последовательность номеров ggplot xlab в R

Вот простой набор данных Я пытаюсь построить:

Dataset - Music2

Вот код, который я использовал:

ggplot(music2, aes(Lecture, Music)) + geom_point() + xlab("Lecture") +  ylab("Music Week") 

Вот сюжет я получаю:

point plot of dataset-music2

Как показано выше в plot, xlab графика не идет в последовательности чисел, как в наборе данных. Номер 11 и 12 прыгают между 1 и 2, вместо того, чтобы оставаться за 10.

Как я могу изменить последовательность в натуральном порядке?

+0

Не публикуйте свои данные в качестве изображения, пожалуйста, узнайте, как дать [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610). Тем не менее, ваш столбец «Лекция», вероятно, хранится в виде символьной переменной (проверьте разницу в выравнивании с колонкой «Музыка»). Чтобы проверить класс: 'class (dataset $ Lecture)'. С 'dataset $ Lecture <- as.numeric (dataset $ Lecture)' вы можете преобразовать его в числовую переменную. Если он хранится как фактор-переменная, используйте 'as.numeric (as.character (dataset $ Lecture))'. После этого ваш код построения должен работать нормально. – Jaap

+0

Спасибо за ваше предложение !! В следующий раз я улучшусь. –

ответ

0

Вы должны преобразовать переменную на оси х к фактору или, по крайней мере, он не должен иметь тип характера, так как в этом случае R пытается угадать, что естественный порядок символов должен быть

library(ggplot2) 

# Example data. Replace with yours 
data <- data.frame(a = 1:12, b = sample(c(0, 1))) 

ggplot(data, aes(x = as.factor(a), y = b)) + 
geom_point() + 
labs(x = "Label x", y = "Label y") 
+0

Большое вам спасибо! Оно работает! –

Смежные вопросы