Создание линейного графика с дискретной осью x в ggplot2

Я строю фигуру ggplot2 с фасетной сеткой. На моей оси Y — проценты, а на оси X — концентрация (в цифрах). Каждая грань имеет 3 группы (0, 24 и 48 часов)

ggplot(data=MasterTable, aes(x=Concentration, y=Percentage, group=Time)) + 
  geom_point() + 
  geom_line() + 
  facet_grid(Chemicals ~ Treatments) 

Это генерирует непрерывную ось x. Поскольку значения распределены неравномерно, я бы предпочел дискретную ось для лучшей визуализации моих данных. Я следовал следуя руководству безуспешно. Первая фигура - это именно то, что я пытаюсь сделать.

Я также попытался отформатировать ось:

scale_x_discrete(labels("0", "0.1", "2", "50"))

и форматирование строки:

geom_line(aes(Time))

и после это руководство.

Я думаю, что эта проблема заключается в том, что значения на оси X являются целыми числами, а не строками. Это делает ось по умолчанию непрерывной. Как я могу это изменить?? Я уверен, что решение простое, я просто не могу понять.

Заранее спасибо!


person Marty999    schedule 27.07.2017    source источник
comment
Добро пожаловать! Я преобразовал свой комментарий в ответ.   -  person AK88    schedule 27.07.2017


Ответы (1)


На этом страницу они вносят следующую модификацию df2$dose<-as.factor(df2$dose). Вы можете попробовать изменить свой x-axis как df2$Concentration<-as.factor(df2$Concentration)

или вот так:

ggplot(data=MasterTable, aes(x=factor(Concentration), y=Percentage, group=Time)) + 
  geom_point() + 
  geom_line() + 
  facet_grid(Chemicals ~ Treatments) 
person AK88    schedule 27.07.2017
comment
Благодарю вас! Потратил на это часы. Было так просто! MasterTable$Concentration <- as.factor(MasterTable$Concentration) - person Marty999; 27.07.2017
comment
Большое тебе спасибо :) - person Trenbolone; 14.05.2021