मेरे पास एक उदाहरण है जहां मैं ggplot का उपयोग कर अनुक्रम संरेखण के कई गुणों को हाइलाइट करना चाहता हूं। मैं geom_tile का उपयोग कर रहा हूं और दो स्कोर गुणों के लिए अलग-अलग रंगीन टाइल्स के दो सेट रखना चाहता हूं। मैं केवल एक को देखने में सक्षम हूं।ggplot2 कई तराजू/किंवदंतियों प्रति सौंदर्य, पुनरीक्षित
मुझे प्रति स्केल प्रति सौंदर्य (and the logic behind it) की सीमा के बारे में पता है, लेकिन हो सकता है कि किसी को यह पता चल जाए कि इस तरह के मामलों के लिए इसे कैसे हैक करना है, जहां एक 'साजिश' में अलग-अलग रंग स्केल होने का अर्थ होगा।
शायद मैन्युअल Grobs को जोड़ने के साथ, लेकिन मैं नहीं जानता कि जहां शुरू करने के लिए ...
एक अतिरिक्त प्रश्न: किसी कारण override.aes=list(shape = "A")
काम नहीं करता है के लिए, किसी भी विचार क्यों?
एक और: टाइल के आकार (या दूसरी तरफ) के अनुपात में आनुपातिक रूप से पाठ स्केल करने की कोई विधि?
library(ggplot2)
library(grid)
pd = data.frame(
letters = strsplit("AGTGACCGACTATCATAGTGACCCAGAATCATAGTGACCGAGTATGAT", "")[[1]],
species = rep(c("Human", "Armadillo", "Porcupine"), each=16),
x = rep(1:16, 3),
change = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,
0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0),
score1 = c(0,0,0,0,0,0,1,1,2,2,2,3,3,3,4,3,
0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
score2 = c(0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,
0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,
0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0)
)
ggplot(pd[pd$score1 != 0,], aes(x=x, y=species)) +
coord_fixed(ratio = 1.5, xlim=c(0.5,16.5), ylim=c(0.5, 3.5)) +
geom_tile(aes(fill=score1)) +
scale_fill_gradient2("Score 1", limits=c(0,4),low="#762A83", mid="white", high="#1B7837", guide=guide_colorbar(title.position="top")) +
geom_text(data=pd, aes(label=letters, color=factor(change)), size=rel(5), family="mono") +
scale_color_manual("Change", values=c("black", "#F2A11F"), labels=c("None", "Some"), guide=guide_legend(direction="vertical", title.position="top", override.aes=list(shape = "A"))) +
theme(panel.background=element_rect(fill="white", colour="white"),
axis.title = element_blank(),
axis.ticks.y = element_blank(),
axis.text.y = element_text(family="mono", size=rel(2)),
axis.text.x = element_text(size=rel(0.7)),
legend.text = element_text(size=rel(0.7)),
legend.key.size = unit(0.7, "lines"),
legend.position = "bottom", legend.box = "horizontal") +
ggtitle("What about Score2?")
धन्यवाद koshke, है, लेकिन यह इस संपत्ति का प्रतिनिधित्व करने के लिए पर्याप्त संकेत देती नहीं है। ये संरेखण लंबाई में एक सौ या अधिक वर्ण हो सकते हैं और इसमें कई दर्जन प्रजातियां हो सकती हैं, इसलिए अक्षरों के रूप में काफी छोटे हैं और अक्सर उनके आकार में हेरफेर करने के लिए कोई जगह नहीं होती है। इसके अलावा, कभी-कभी स्कोर एक निरंतर चर होता है और एक अनुक्रम से दूसरी तरफ सापेक्ष मात्रा को समझना वाकई मुश्किल होगा। मुझे डर है कि मुझे कुछ और 'दृश्य' की आवश्यकता होगी – Krizbi
बस एक और वास्तविक उदाहरण देने के लिए: [यहां एक पूर्ण संरेखण है] (http://i.imgur.com/wB4prkv.png) – Krizbi
@ Krizbi अपडेट किया गया कृपया अपडेट करें । – kohske