График растягивается за предел оси в R при использовании barplot () с аргументом ylim - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь создать столбчатую диаграмму с процентами. Я сгенерировал некоторые образцы данных для репликации:

#Create dummy data (class is table)
one=c(1,1,.9855,1,1,.9956,.9827,.9868,.988,.9701,1,1,1)
zero=1-one
comp=as.table(rbind(one,zero));comp

#Set wanted axis limits
yax=c(max(min(comp[1,])-.1,0),1);yax

Теперь приведем следующий график, прежде чем я установлю пределы оси с помощью ylim:

#Before setting limits looks fine
par(mar=c(5,6,4,5)) #resize margins
barplot(comp,col=c("#3399CC","#CC0033"),main="Proportion of Results",
    yaxt="n",legend.text=TRUE, 
    args.legend=list(x="topright",inset=c(-0.15,.45)))
axis(2,at=pretty(comp),lab=paste0(pretty(comp)*100," %"),las=TRUE)

enter image description here

Затем, когда я добавляю аргумент ylim, мои бары растягиваются за установленные пределы.

#After setting limits it's messed up
par(mar=c(5,6,4,5)) #resize margins
barplot(comp,col=c("#3399CC","#CC0033"),main="Proportion of Results",
    yaxt="n",ylim=yax,legend.text=TRUE, 
    args.legend=list(x="topright",inset=c(-0.15,.45)))
axis(2,at=pretty(yax),lab=paste0(pretty(yax)*100," %"),las=TRUE) #Show y-axis labels as percent

enter image description here

Я хотел бы обрезать и просмотреть только часть графика на основе выбранных мне пределов. Кто-нибудь знает, что я делаю не так?

...