Как я заставляю ось y пересечь ось X в 0 в ggplot2?

Таким образом, когда я иногда делаю графики, я вижу, что y пересекает x при некотором смещении. Я генерировал это число, использующее:

ggplot(data=d2,aes(y=log10(Nems+1),x=Time)) +
  geom_point(size=3,shape=1) +        
  geom_line(data=d2,aes(x=time_model,y=log10(value),group=variable,linetype=variable)) +
  ylim(0.001,2) + no_bg + draw_axis

Я заканчиваю тем вручную, что переместил y в Illustrator. Существует ли способ просто сделать это здесь?

сопроводительный текст http://img816.imageshack.us/img816/7633/testzh.png

8
задан rcs 30 June 2010 в 08:14
поделиться

2 ответа

Попробуйте добавить это к своему графику: + corre_cartesian (xlim = c (0, 90))

Это должно ограничить ось x значениями от 0 до 90.

Вы также можете сделать + xlim (0, 90) , который имеет аналогичный эффект - но также удаляет любые данные за пределами его границ из набора данных. Это может быть проблематично, если вы пытаетесь увеличить объекты геометрии, которые должны быть рассчитаны с использованием всего набора данных (например, сглаживания), потому что он пересчитывает эти геометрии только на основе того, что находится в пределах. Coord_cartesian () вычисляет все геометрии из полного набора данных, а затем ограничивает окно тем, что вы указали.

6
ответ дан 5 December 2019 в 11:22
поделиться

Вот еще одно решение:

... + scale_x_continuous(expand=c(0,0))

См. Также этот связанный вопрос: Регулировка поля при использовании ggplot geom_tile ()

9
ответ дан 5 December 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: