这些可能是一些简单的问题,但我正在学习。 我正在使用ggplot2作为堆积条形图,我想出了如何以基本形式做到这一点:
df<- data
stack <-ggplot(df,aes(x=group, y=average.contribution, fill=taxa)) +
geom_bar(stat="identity")
(dataset with bacterial abundance)
但我调整绘图的大小有问题,我找不到好的例子(可能是theme()
)。
特别是:
那里有各种主题的颜色向量吗?我可以使用scale_fill_brewer()
代替吗?我需要超过7种颜色。
答案 0 :(得分:0)
我找到了一些解决方案,使情节更具吸引力并自行调整尺寸:
df<-so2
stack<-ggplot(df,aes(x= group, y=average.contribution, fill=taxa))
+ geom_bar(stat="identity", width=.7)
+ facet_grid(. ~ fac) +scale_y_continuous(limits=c(0,100))
+ theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank())
+ theme_bw()
ggsave(stack, file="stack.pdf", width=10, height=10)
因此主要是关于颜色矢量的问题
答案 1 :(得分:0)
当您想要超过7种颜色时,您有以下几种选择:
# your plot code as a starting point
stck <- ggplot(df,aes(x= group, y=average.contribution, fill=taxa)) +
geom_bar(stat="identity", width=.7) +
facet_grid(. ~ fac) +
scale_y_continuous(limits=c(0,100)) +
theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank()) +
theme_bw()
您可以选择以实际方式设置颜色:
# manually with color names
stck + scale_colour_manual(values=c("red", "blue")) # 2 colors as example, add as many as you need
# manually with RGB values
stck + scale_colour_manual(values=c("#CC6666", "#7777DD"))
您还可以使用RColorBrewer
包:
library(RColorBrewer)
display.brewer.all() # shows the different palettes you can choose from
stck + scale_fill_brewer(palette="Set3") # a color palette with 12 colors
要更改轴标签到轴的距离,您至少有两个选项:
# inserting blank lines with \n
stck + xlab("\nLabel")
# vertically or horizontally adjusting the label
stck + theme(axis.text.x = element_text(hjust=-1, vjust=-1)) # ylab -> hjust; xlab -> vjust
用于更改文本的外观:
element_text(size=14, face="bold", color="red", family = "sans")
如果要使用特定字体,可以安装extrafont
包。见this answer