p = ggplot(index, aes(x=Site, y=chao1))+
? ? geom_boxplot(alpha=1, outlier.size=0, size=0.7, width=0.5, fill="transparent") +
? ? theme(axis.text.x = element_text(angle = 45, hjust = 0.99, vjust = 0.99)) +
? ? geom_jitter( position=position_jitter(0.17), size=1, alpha=0.7)+
? ? labs(x="site", y="chao1 index")
ggplot2中的legend包括四個(gè)部分:
legend.tittle, legend.text, legend.key, legend.backgroud尸诽。
針對(duì)每一部分有四種處理方式
element_text()繪制標(biāo)簽和標(biāo)題歼疮,可控制字體的family, face, colour, size, hjust, vjust, angle, lineheight,當(dāng)改變角度時(shí)攒至,序?qū)just調(diào)整至0或1.(距離x軸的遠(yuǎn)近)
element_rect()繪制主要供背景使用的矩形鬓椭,你可以控制顏色的填充(fill)和邊界的colour, size, linetype
element_blank()表示空主題,即對(duì)元素不分配相應(yīng)的繪圖空間唉韭。該函數(shù)可以山區(qū)我們不感興趣的繪圖元素纤控。使用之前的colour=NA敌完,fill=NA,讓某些元素不可見,但仍然占繪圖空間钝荡。
element_get()可得到當(dāng)前主題的設(shè)置街立。
theme()可在一幅圖中對(duì)某些元素進(jìn)行局部性修改,theme_update()可為后面圖形的繪制進(jìn)行全局性的修改埠通。
不加Legend
p+theme(legend.position='none');
刪除legend.tittle
p+theme(legend.title=element_blank())
圖例(legend)的位置
圖例(legend)的位置和對(duì)齊使用的主題設(shè)置legend.position來控制赎离,其值可為right,left,top,bottom,none(不加圖例,或是一個(gè)表示位置的數(shù)值端辱。這個(gè)數(shù)值型位置由legend.justfication給定的相對(duì)邊角位置表示(取0和1之間的值)梁剔,它是一個(gè)長度為2的數(shù)值型向量:右上角為c(1,1),左下角為c(0,0)
例如:p+theme(legend.position=”left”)
修改legend.tittle內(nèi)容
p+scale_colour_hue("what does it eat?",breaks=c("herbi","carni","omni",NA),labels=c("plants","meat","both","don't know"));
修改尺寸大小
p+theme(legend.background=element_rect(colour="purple",fill="pink",size=3,linetype="dashed"));
p+theme(legend.key.size=unit(2,'cm'));
p+theme(legend.key.width=unit(5,'cm'));
p+theme(legend.text = element_text(colour = 'red', angle = 45, size = 10, hjust = 3, vjust = 3, face = 'bold'))
報(bào)錯(cuò):could not find function "unit"
解決辦法:library(grid)
顏色的修改以及一致性:
library(RColorBrewer);
newpalette<-colorRampPalette(brewer.pal(12,"Set3"))(length(unique(eee$name)));
p+scale_fill_manual(values=newpalette);
p+geom_bar(position="stack",aes(order=desc(name)))