목록에 저장할 ggplot이 여러 개 있습니다. 그러나, 그들은 내가 사용하고자하는 다른 colorscales있을 수 있습니다. 이 예제는 아래 1과 2 절에 나와 있습니다. 각각 하나의 그림이 완벽하게 생성됩니다. 그러나 둘을 결합하면 두 번째 것은 첫 번째 것보다 색상의 눈금이 더 적기 때문에 (1), 첫 번째 것을 인쇄 할 때 오류가 반환됩니다 (오류 : 수동 배율의 값이 충분하지 않지만 단지 1 개만 제공됩니다.) 이전 버전의 ggplot (2.1.0) 때문인지 확실하지 않습니다. 그러한 문제를 해결하기위한 어떤 아이디어라도 감사하십시오.동일한 scale_colour_manual을 공유하는 여러 ggplot을 중지 하시겠습니까?
data1<-mtcars;
data1$cyl<-as.factor(data1$cyl);
#section 1 #
plotlist[[1]]<-ggplot(data1[],aes_string(x='hp',y='wt',group=paste('paste0(','gear',',','cyl',')'),fill=('cyl')))+
geom_bar(stat='identity',position="dodge",size=1);
colourCount <- 3;
getPalette <- colorRampPalette(c(brewer.pal(11, "Spectral")[c(1:3,8:11)]));
plotlist[[1]]<-plotlist[[1]]+scale_colour_manual(values = rep(getPalette(min(colourCount,25)),times=floor(colourCount/25)+1))+
scale_fill_manual(values = rep(getPalette(min(colourCount,25)),times=floor(colourCount/25)+1));#adjust color
#section 2 #
plotlist[[2]]<-ggplot(data1[data1$cyl==4,],aes_string(x='hp',y='wt',group=paste('paste0(','gear',',','cyl',')'),fill=('cyl')))+
geom_bar(stat='identity',position="dodge",size=1);
colourCount <- 1;
getPalette <- colorRampPalette(c(brewer.pal(11, "Spectral")[c(1:3,8:11)]));
plotlist[[2]]<-plotlist[[2]]+scale_colour_manual(values = rep(getPalette(min(colourCount,25)),times=floor(colourCount/25)+1))+
scale_fill_manual(values = rep(getPalette(min(colourCount,25)),times=floor(colourCount/25)+1));
이것은 자바 스크립트가 아니라 R입니다. 세미콜론? Srsly? – hrbrmstr