0
ggplot 해킹을 조금하려고합니다. 내 막대 차트에 색을 지정하고 하나의 변수 (변수 = Open.Burning)로 '범례'하지만 다른 변수에 의해 스택 주위에 barchart 레이블과 상자를 넣고 싶습니다. 나는 그것의 대부분을 가지고 있지만 변수 Open에 따라되는 전설을 해킹에 아직도 고투하고있다. 굽기. 나는 현재지고있어 무엇채우기보다 다른 변수에 대한 ggplot 범례
library(ggplot2)
library(scales)
library(grid)
muns = data.frame(cbind(
'Open.Burning'=c(0,0,0,0,1),
'Population.2010'=c(486,4130,843,2648,3950),
'Municipality'=c('Alert Bay', 'Mount Waddington RD-uninc', 'Port Alice', 'Port McNeill', 'Port Hardy'),
'Regional.District'=rep('Mount Waddington', 5),
'mp'=c(243.0, 2551.0, 5037.5, 6783.0, 10082.0),
'Open.Burning.Label'=c('Bylaw', 'No Bylaw', 'No Bylaw', 'No Bylaw', 'No Bylaw')), stringsAsFactors=FALSE)
muns$Population.2010 <- as.numeric(muns$Population.2010)
muns$mp <- as.numeric(muns$mp)
fp = factor(muns[,'Open.Burning'],
labels=c('white', 'lightblue1'),
levels=c(0,1))
fill.vals = as.character(fp)
names(fill.vals) = muns$Municipality
ggplot(muns, aes(x=Regional.District, y=Population.2010, fill=Municipality)) +
geom_bar(stat='identity', width=0.6, colour = "gray32") +
xlab('Open Burning') + ylab("Population 2010") +
scale_y_continuous(labels = comma) +
geom_text(aes(y = muns$mp, label=muns$Municipality), colour = "gray32", size = 3) +
scale_fill_manual(values=fill.vals, breaks=muns$Municipality, labels=muns$Open.Burning.Label) +
## to add a border the legend (but not on the chart)
guides(fill = guide_legend(reverse=TRUE, override.aes = list(colour = "black"))) +
theme(text=element_text(size=12),
axis.text.x = element_blank(),
legend.title=element_blank()
)
: 내가 원하는 무엇
는 얻을 :
정말 이러한 목표를 달성하는 방법을 모른다. 어떤 아이디어?
감사합니다.
내가 재현하지 아직도 포스트 – DatamineR
재현 할 수 없습니다. 항상 깨끗한 세션에서 테스트하십시오. – hailes
편집, 감사합니다 @RStudent – joran