Исправлено переполнение текста по оси X в ggplot2 - PullRequest
1 голос
/ 11 ноября 2010

Я создал пользовательские двухуровневые записи по оси X, которые, как правило, работают довольно хорошо. Единственная проблема состоит в том, что, когда моя ось Y, пропорция, близка к единице, эти записи оси попадают в область диаграммы. Когда я использую vjust, чтобы вручную изменить их вертикальное положение, часть каждой записи скрывается за границей диаграммы.

Любые предложения о том, как сделать границы диаграммы, которые динамически корректируются с учетом больших значений оси Y и полного текста каждой записи (без перехода к диаграмме).

Посмотрите на следующий пример:

library(ggplot2)

GroupType <- rep(c("American","European"),2)
Treatment <- c(rep("Smurf",2),rep("OompaLoompa",2))
Proportion <- rep(1,length(GroupType))
PopulationTotal <- rep(2,length(GroupType))

sampleData <- as.data.frame(cbind(GroupType,Treatment,Proportion,PopulationTotal))

hist_cut <- ggplot(sampleData, aes(x=GroupType, y=Proportion, fill=Treatment, stat="identity"))

chartCall<-expression(print(hist_cut + geom_bar(position="dodge") + scale_x_discrete(breaks = NA) +
geom_text(aes(label = paste(as.character(GroupType),"\n[N=",PopulationTotal,"]",sep=""),y=-0.02),size=4) + labs(x="",y="",fill="")
))

dev.new(width = 860, height = 450)
eval(chartCall) 

Есть мысли о том, как исправить небрежный текст по оси абсцисс?

Большое спасибо заранее, Aaron

1 Ответ

2 голосов
/ 15 ноября 2010

К сожалению, вы должны сами управлять осью y - в настоящее время ggplot2 не может определить, сколько дополнительного пространства вам нужно, потому что необходимое физическое пространство зависит от размера графика. Используйте, например, expand_limits(y = -0.1), чтобы выделить немного дополнительного пространства для текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...