R и ggplot - удаление отметки «0» на оси Y - PullRequest
1 голос
/ 01 декабря 2011

При построении графика в R с использованием ggplot я заметил, что иногда, если вы не укажете какие-либо ограничения по оси Y, по умолчанию график не будет иметь отметки «0» в нижней части оси Y (этоПредполагается, что нижний угол представляет 0).Первый график на этой странице - хороший пример

http://wiki.stdout.org/rcookbook/Graphs/Axes%20%28ggplot2%29

Вы можете видеть, что нижний угол остается пустым.Это то, что я хотел бы.

Но если я укажу пределы оси Y, всегда будет отображаться 0.Поэтому, если я использую либо

scale_y_continuous(limits=c(0,8)

, либо

ylim(0,8)

, я получаю этот маленький 0 и хэш-метку

Так что, если у меня есть набор данных, такой как:

ByYear <- data.frame( V1 = c(2005,2006,2007,2008,2005,2006,2008,2006,2007,2005,2006,2007,2008),
+                       V2 = c(0,0.2,0,1.6,2,5,0,4,3,0,8,0,5), 
+                       V3 = c('A','A','A','A','B','B','B','C','C','D','D','D','D'))

И запустить базовый график, подобный

ggplot(data=ByYear,aes(x=V1,y=V2,group=V3))+geom_line()+geom_point(aes(shape=V3),size=3)+opts(panel.grid.major=theme_blank(),panel.grid.minor=theme_blank())

Есть ли способ, которым первая хэш-метка может быть пустой?Что-то похожее на

ylim(,8)  #(Even though it does not work)

Я знаю, что могу использовать

expand=c(0,0)) or yaxis="i"

, чтобы перенести отметку 0 в нижний угол (что лучше), но единственная проблема заключается в том, что у меня естьпри большом количестве нулевых данных это обрезает нижнюю часть формы точек, поэтому мне все еще нужно немного буферного пространства ниже нулевой точки.

1 Ответ

6 голосов
/ 01 декабря 2011

Я думаю, вы, возможно, ищете аргумент breaks scale_y_continuous:

ggplot(data=ByYear,aes(x=V1,y=V2,group=V3)) + 
    geom_line() + 
    geom_point(aes(shape=V3),size=3) + 
    scale_y_continuous(breaks = 1:8) +
    opts(panel.grid.major=theme_blank(),panel.grid.minor=theme_blank())

, который выдает это:

enter image description here

Примечание : начиная с версии 0.9.2 opts было заменено на theme:

+ theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...