निम्नलिखित कोड द्वारा उत्पन्न साजिश में मैं रंगों को बदलना चाहता हूं ताकि सभी मान < 0.6 "कम" रंग और सभी मानों के समान हों 1 से अधिक "उच्च" रंग हैं।आर ggplot2 - मैं सीमाओं के मूल्यों से कैसे निर्दिष्ट कर सकता हूं 'रंग
जैसा कि डेटा ढाल डेटा की पूरी संख्यात्मक सीमा में फैला हुआ है। मैंने सीमा जोड़ने की कोशिश की है, लेकिन यह सभी सीमाओं को एनए मानों के समान रंग मानता है, जो कि मैं नहीं चाहता हूं क्योंकि मुझे स्पष्ट रूप से छूने के लिए एनए मानों की आवश्यकता है और सीमाओं के बाहर < 0.6 के समान रंग नहीं दिखाना चाहिए।
मुझे विश्वास है कि जवाब ओब के साथ है, तर्क तोड़ता है लेकिन इसे काम करने में कोई सफलता नहीं मिली है।
library(ggplot2)
a = rnorm(17*17, 0.733,0.21)
qcMat = matrix(a, ncol = 17)
qcMat[qcMat> 1] = 1
#qcMat contains values between 0 and 1 and some NAs
m = melt(t(qcMat))
m$Var2 <- with(m,factor(Var2, levels = rev(sort(unique(Var2)))))
ggplot(m, aes(as.factor(Var1), Var2, group=Var2)) +
geom_tile(aes(fill = value)) +
geom_text(aes(fill = m$value, label = round(m$value, 2))) +
scale_fill_gradient(low = "red", high = "green") +
xlab("") + ylab("") + ggtitle(paste("biscuit:", biscuit_id, "- QC", sep = " "))
आप लिखना '1 से अधिक सभी मूल्यों "उच्च" रंग के होते हैं' और ' qcMat में 0 और 1 और कुछ एनएएस के बीच मान होते हैं। जब आपके डेटा में कोई 1 नहीं है तो सीमा 1 के रूप में क्यों उपयोग करें? – Henrik
@ हेनरिक इस स्निपेट के उद्देश्य के लिए उत्पन्न डेटा वास्तविक डेटा का वास्तविक प्रतिबिंब नहीं है जिस पर मैं काम कर रहा हूं, लेकिन यह बहुत करीब है। DishMat को हटाने के लिए भी तय किया। – HoaxKey