2013-02-25 2 views
3

Я пытаюсь построить гистограмму этого dataпрокладочные различные типы гистограмме ggplot

R сценарий я написал до сих пор является следующим:

library(ggplot2) 
f<-read.table("Coverage_test", sep="\t", header=TRUE) 
f$Coverage <- factor(f$Coverage, levels=unique(as.character(f$Coverage))) 
g = ggplot(data=f, aes(x=Coverage, y=Variable_counts, group=Form, fill=Type)) 
+ geom_bar(position="dodge", stat="identity", colour="black") 
+ facet_grid(~ Sample_name, scales="free") + opts(title = "Coverage", axis.text.x = theme_text(angle = 90, hjust = 1, size = 8, colour = "grey50")) 
+ ylab("Number of variables") + scale_fill_hue() + scale_y_continuous(formatter="comma") 
ggsave("Figure_test_coverage.pdf") 

Вывод этого кода выглядит следующим образом:

enter image description here

Мой вопрос: есть ли способ, чтобы показать различия в поведении GRAP h основаны две переменные. Каждая переменная оси x имеет четыре бара. Я уже выбрал, чтобы заполнить цвет «Тип», это показывает, как разные «Тип» (одна переменная) ведет себя в моих данных. Но я также хочу показать, как переменная «Form» ведет себя в моих данных. Я сгруппировал их в свой код «group = Form», но не могу отличить его от фактического графика (визуально). Это можно сделать в линейных графиках, показывая разные цвета для одной переменной и разных типов линий (сплошные и пунктирные) для другой переменной. Что-то вроде ниже: enter image description here.

Я хочу знать, может ли переменная «Форма» отображаться разными цветами или по крайней мере, может быть названа ниже их соответствующих баров или что-нибудь, что возможно? Любая помощь очень ценится.

спасибо.

ответ

7

Я думаю, что вы хотите что-то вроде этого:

ggplot(data=dat, aes(x=Coverage, 
         y=Variable_counts, 
         group=interaction(Form,Type), 
         fill=interaction(Form,Type))) + 
geom_bar(position="dodge", stat="identity", colour="black") 

enter image description here

EDIT

Здесь я бы решетка из столбиковых и Samrt формулы нотации. Для удовольствия я использую тему ggplot, используя latticeExtra.

library(latticeExtra) 
barchart(Variable_counts~Coverage|Sample_name, 
     groups=interaction(Type,Form), 
     data=dat,stack=F,auto.key=list(columns = 4), 
     par.settings = ggplot2like(), 
     axis = axis.grid, 
     between=list(x=2)) 

enter image description here

+1

+1 очень красиво и кратким –

+0

Красиво сделано! – smandape

Смежные вопросы