参考链接:http://www.sthda.com/english/search/search.php#results
data<-read.table("stat_length_chromState.txt")
library(ggplot2)
colnames(data)<-c("length","chromState")
data$chromState<-factor(data$chromState,levels = c("1_TssA","2_TssAFlnk","3_TxFlnk","4_Tx","5_TxWk","6_EnhG",
"7_Enh","8_ZNF/Rpts","9_Het","10_TssBiv","11_BivFlnk",
"12_EnhBiv","13_ReprPC","14_ReprPCWk","15_Quies"))
library(RColorBrewer)
colourCount = length(unique(data$chromState))
getPalette = colorRampPalette(brewer.pal(9, "Set1"))
p <- ggplot(data, aes(x=chromState, y=log10(length),fill=chromState)) +
geom_violin()+
scale_fill_manual(values = getPalette(colourCount))+
theme_minimal()
p
总结一下,上面代码有两点值得学习:
(1)通过设置factor的level顺序,人为规定画图的顺序。
(2)通过使用RcolorBrewer packag解决了set1颜色集中颜色不够的问题。