2015-05-05 25 views
0

說我有這樣的定製ggplot傳奇

X1 X2 X3 X4 X5 X6 
1 3 4 5 6 7 5 
2 6 7 6 3 1 4 
3 8 7 9 1 2 4 

和這樣的代碼

ggplot(data=melt(vecDF), aes(x = variable, y=value)) + geom_violin(aes(fill=variable))+ 
scale_fill_manual(values=c("red","red","blue","blue","green","green"))+ 
ggtitle("Coverage")+xlab("Location")+ylab("Value") 

的數據集我如何改變它,以便我得到一個傳奇與簡單的三盒,而不是6紅色,藍色和綠色的自定義名稱。我可以在數據框中添加一個組列,但只要我將它融合在一起就沒用了。

回答

0

添加組列到熔融數據幀:

vecDF_melted = melt(vecDF) 

vecDF_melted$group = plyr::revalue(vecDF_melted$variable, 
            c(X1='group1', X2='group1', 
            X3='group2', X4='group2', 
            X5='group3', X6='group3')) 

ggplot(vecDF_melted, aes(x=variable, y=value, fill=group)) + 
    geom_violin() + 
    ggtitle("Coverage") + 
    xlab("Location") + 
    ylab("Value")