library('ggplot2')
df1$grp <- factor( with(df1, paste( marker1, marker2, sep = '\n' ) ) )
ggplot(data = df1, mapping = aes( x = grp, y = value, color = T_ID, fill = T_ID)) +
geom_bar( stat = 'identity', position = position_dodge(width=0.55), width = 0.5) +
theme( axis.text.x = element_text( angle = 0 )) +
xlab( label = 'Markers' ) +
ylab( label = 'Effect' )
在轴上有标记
df1$grp <- factor( with(df1, paste( paste('marker1: ', marker1, sep = ''),
paste('marker2: ', marker1, sep = ''),
sep = '\n' ) ) )
ggplot(data = df1, mapping = aes( x = grp, y = value, color = T_ID, fill = T_ID)) +
geom_bar( stat = 'identity', position = position_dodge(width=0.55), width = 0.5) +
theme( axis.text.x = element_text( angle = 0 )) +
xlab( label = 'Markers' ) +
ylab( label = 'Effect' )
df1$grp <- factor( with(df1, paste( marker1, marker2, sep = '\n' ) ) )
text_markers <- textGrob( paste( 'marker1', 'marker2', sep = '\n' ), gp=gpar(fontsize=8))
p <- ggplot(data = df1, mapping = aes( x = grp, y = value, color = T_ID, fill = T_ID)) +
geom_bar( stat = 'identity', position = position_dodge(width=0.55), width = 0.5) +
theme_bw() +
theme( axis.text.x = element_text( angle = 0 )) +
scale_y_continuous(limits = c(0,8.5), expand = c(0, 0)) +
xlab( label = 'Markers' ) +
ylab( label = 'Effect' ) +
annotation_custom( text_markers, xmin = -Inf, xmax = 0.85, ymin = -Inf, ymax = -1.5 )
gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
grid.draw(gt)
数据:
S_ID <- c(1,1,1,1,1,1,1,1)
V_ID <- c(5,5,5,5,8,8,8,8)
T_ID <- c("A","A","B","B","A","A","B","B")
marker1 <- c("+","-","+", "-", "+", "-","+", "-")
marker2 <- c("-","-","-", "-", "-", "-","-", "-")
value <- c(1,2,3,4,5,6,7,8)
df1 <- data.frame(S_ID, V_ID,T_ID,marker1, marker2, value)