Мы не можем видеть ваши данные, но поведение указывает на Data$Month
, содержащее значение, которое не входит в ваш термин уровня xnames
. Есть что-нибудь с ошибками? Я бы посоветовал вам сравнить levels(as.factor(Data$Month))
и xnames
- это точно покажет вам проблему.
Пример набора данных, который показывает ту же проблему, что и у вас:
yums <- c('soup', 'salad', 'bread')
nums <- c(10, 14, 5)
df1 <- data.frame(yums, nums)
yum.levels <- c('soup', 'salad', 'bread', 'pasta')
ggplot(df1, aes(x=factor(yums, yum.levels), y=nums)) + geom_col()
Это дает вам это :

... но если мы неправильно введем одну из них (например, заглавную "Суп" в yums
), вы получите:
yums1 <- c('Soup', 'salad', 'bread')
nums <- c(10, 14, 5)
df2 <- data.frame(yums1, nums)
yum.levels <- c('soup', 'salad', 'bread', 'pasta')
ggplot(df2, aes(x=factor(yums1, yum.levels), y=nums)) + geom_col()
