#r #ggplot2 #bar-chart #geom-col
Вопрос:
Я хочу, чтобы мой самый низкий номер шкалы y был в нижней части диаграммы. Когда я запускаю код, наименьшее число находится в середине графика.
Фрейм данных:
|casual_member|weekday|number_of_rides|average_duration|
|-------------|-------|---------------|----------------|
|casual |Sun |333451 |23.95861 mins |
|casual |Mon |197285 |22.00945 mins |
|casual |Tue |192038 |20.70753 mins |
|casual |Wen |203911 |20.27327 minss |
|casual |Thu |209860 |20.06790 mins |
|casual |Fri |274578 |21.13946 mins |
|casual |Sat |421152 |23.24371 mins |
|casual |Sun |309201 |15.96388 mins |
|casual |Mon |328976 |13.87167 mins |
|casual |Tue |357244 |13.75974 mins |
|casual |Wen |381470 |13.76543 mins |
|casual |Thu |367625 |13.69283 mins |
|casual |Fri |374362 |14.05773 mins |
|casual |Sat |370914 |15.67448 mins |
Код
ggplot(data = all_trips_v3)
geom_col(aes(x= weekday, y=number_of_rides, fill = member_casual),
position = "dodge")
ggtitle("Total Weekday Rides of Casuals and Members")
scale_y_continuous(breaks = c(150000, 200000, 250000, 300000,
350000, 400000, 450000),
name = "Number of Rides")
scale_x_discrete (name = "Weekday")
Как мне сделать так, чтобы 150000 были в нижней части графика?
Я попробовал следующее, и коды удалили бары с моего графика:
scale_y_continuous(limits = c(150000,450000), name = "Number of Rides")
scale_y_discrete(name = "Number of Rides") scale_x_discrete (name = "Weekday") ylim(150000, 450000)
Комментарии:
1. Трудно судить о том, как выглядит результат без воспроизводимых данных. Похоже, что самый маленький корпус намного больше 15 тыс. Попробуй
expand_limits(y = 15000)
2. Извините, я думал, что таблицу, которую я добавил, можно воспроизвести. Я все еще нахожусь на начальных этапах использования и понимания того, как все здесь делать. Я действительно пытался
expand_limits(y = 15000
, но это не возымело никакого эффекта.coord_cartesian(ylim = c(150000, 450000))
решил проблему.3. Чтобы предоставить воспроизводимый пример, попробуйте предоставить выходные
dput(mydata)
данные, которые можно скопировать и вставить в качестве допустимых данных. Если я хочу воссоздать это, мне нужно все ввести или проанализировать в той или иной форме.4. Спасибо вам за объяснение.
Ответ №1:
Таким образом, ylim() удаляет данные, которые находятся за пределами графика. Вместо этого попробуйте добавить coord_cartesian, чтобы увеличить масштаб графика:
coord_cartesian(ylim = c(150000, 450000))
Комментарии:
1. Спасибо. Я не сталкивался с этим в своем поиске в Google.