Я пытаюсь создать столбчатую диаграмму с процентами. Я сгенерировал некоторые образцы данных для репликации:
#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)
Затем, когда я добавляю аргумент 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
Я хотел бы обрезать и просмотреть только часть графика на основе выбранных мне пределов. Кто-нибудь знает, что я делаю не так?