2016-08-08 28 views
0

Es ist ein facet_wrap-Diagramm mit zwei gruppierten Balkendiagrammen. Ich habe meine Fragen und meinen Code im folgenden Text angefügt.Mehrere Ebenen gruppiert Balkendiagramm

enter image description here

Q1: wie triple Sternchen an bestimmten Positionen zu annotieren (besser kann es die Position ortet automatisch ohne meine Berechnung/Spezifikation), wie in der Handlung gezogen? Versucht, aber hat nicht funktioniert:

ann_text1=data.frame(ligand=c(2), uptake=c(24), kd=factor("p", levels=c("p","q"))) 
tp=t+geom_text(data=ann_text1,label="***", size=8) 

Q2: wie griechischen Buchstaben (Beta) im Streifentitel zu verwenden? Versucht, Ausdruck Argument in die Etiketten zu integrieren = aber hat nicht funktioniert.

t$cell=factor(t$cell, levels = unique(t$cell), labels = c("WT","beta-DKO")) 

Hier ist die vollständige Version von Code, den ich ausprobiert habe. Bitte navigieren Sie durch diese link für die Eingabedatei.

library(ggplot2) 
library(Hmisc) 
library(gridExtra) 
library(grid) 

t=read.csv(file.choose(), header = TRUE) 
t$ligand = factor(t$ligand, levels = unique(t$ligand)) 
t$kd=factor(t$kd, levels = unique(t$kd)) 
t$cell=factor(t$cell, levels = unique(t$cell), labels = c("WT","beta-DKO")) 

tbar=ggplot(t, aes(kd, uptake, fill=ligand)) + 
    stat_summary(fun.y = mean, geom = "bar", position="dodge", color = "black", size=0.3, width = 0.6) + 
    stat_summary(fun.data = mean_se, geom = "errorbar", position = position_dodge(width = 0.6), size=0.3, width = .2) + 
    scale_fill_manual(name="ligand", labels=c("-L", "+L"), values=c("gray20", "gray80"))+ 
    theme_bw()+ 
    scale_y_continuous(expand = c(0,0), limit = c(0, 120), breaks = seq(0, 110, 20))+ 
    ylab("% of T")+ 
    facet_wrap(~cell, nrow=1)+ 
    theme(legend.direction="horizontal",legend.position=c(0.88,0.92))+ 
    theme(legend.text=element_text(size=9))+ 
    theme(legend.key.size=unit(0.25,"cm")) 

Antwort

0

Sie können eine stat_summary(geom="text") als pro diesen Thread hinzu: Annotation above bars:

library(ggplot2) 
library(Hmisc) 
library(gridExtra) 
library(grid) 

t=read.csv("https://dl.dropboxusercontent.com/u/1204710/test.csv", header = TRUE) 
t$ligand = factor(t$ligand, levels = unique(t$ligand)) 
t$kd=factor(t$kd, levels = unique(t$kd)) 
t$cell=factor(t$cell, levels = unique(t$cell), labels = c("WT","beta-DKO")) 
## parametrise dodging width; add vertical shift to '***' label 
width <- 0.6 
vshift <- 5 
dodgewidth <- position_dodge(width=width) 
## identify bars where '***' label has to be placed using a factor 
t$mylabel <- "" 
t$mylabel[with(t, ligand=="y" & cell=="WT" & kd=="p")] <- "***" 
t$mylabel[with(t, ligand=="y" & cell=="beta-DKO" & kd=="q")] <- "***" 
t$mylabel <- factor(t$mylabel) 

tbar <- ggplot(t, aes(kd, uptake, fill=ligand)) + 
    stat_summary(fun.y = mean, geom = "bar", position="dodge", color = "black", size=0.3, width = width) + 
    stat_summary(fun.y = function(v) mean(v)+vshift, geom = "text", position=dodgewidth, aes(label=mylabel)) + 
    stat_summary(fun.data = mean_se, geom = "errorbar", position = position_dodge(width = width), size=0.3, width = .2) + 
    scale_fill_manual(name="ligand", labels=c("-L", "+L"), values=c("gray20", "gray80"))+ 
    theme_bw()+ 
    scale_y_continuous(expand = c(0,0), limit = c(0, 120), breaks = seq(0, 110, 20))+ 
    ylab("% of T")+ 
    facet_wrap(~cell, nrow=1)+ 
    theme(legend.direction="horizontal",legend.position=c(0.88,0.92))+ 
    theme(legend.text=element_text(size=9))+   
    theme(legend.key.size=unit(0.25,"cm")) 

print(tbar)