2014-09-16 7 views
0

enter image description hereggplot: как перемещать координату 0 в середину оси X?

Я пытаюсь создать вулканический участок, используя следующий код, но я хотел бы поставить «0» координат в середине X-оси. Есть ли способ сделать это в ggplot?

v<-ggplot(exprData.fil,aes(Effect,Effect.sig))+geom_point(aes(colour=Effect.sig),alpha=0.7)+scale_colour_gradient(low="red",high="green") 
    v+ggtitle(mainTitle) 
    v+xlab(expression(log[2](bar(After)/bar(Before))))+ylab(expression(-log[10]("p.value"))) 
+0

не добавлял бы строку типа 'xlim (-12, 12)' do it? – jalapic

ответ

1

Добавить scale_x_continuous() установить пределы оси:

v <- ggplot(exprData.fil,aes(Effect,Effect.sig)) + 
     geom_point(aes(colour=Effect.sig),alpha=0.7) + 
     scale_colour_gradient(low="red",high="green") + 
     ggtitle(mainTitle) + 
     xlab(expression(log[2](bar(After)/bar(Before)))) + 
     ylab(expression(-log[10]("p.value"))) + 
     scale_x_continuous(limits=c(-12,12), breaks=seq(-12,12,2)) 

Другой вариант заключается в использовании coord_cartesian(xlim=c(-12,12)). Основное различие между этим и заключается в том, что вы добавляете данные к сюжету (например, более плавное, среднее, boxplot и т. Д.). Если лимиты вашей оси не включают полный диапазон значений данных, то использование (или scale_y_continuous()) приведет к операции сводки данных, исключая невидимые данные из сводки, тогда как coord_cartesian() будет включать все данные в сводку, независимо от того, видна ли она на участке или нет.

+0

спасибо, он работает, но вызывает некоторые новые проблемы - я теряю метки оси x и y после добавления «scale_x_continuous (limits = c (-12,12))» – TonyGW

+0

Я отредактировал функцию scale_x_continuous для добавления ярлыков ярлыков , Вы можете добавить аналогичный оператор, чтобы получить нужные метки оси y. Решает ли это проблему? – eipi10

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