2015-09-30 6 views
6

के लिए ध्रुवीय समन्वय/परिपत्र लेआउट मेरे पास मूल्य 2 के साथ एक डेटासेट है जिसमें कुछ संबंधित निरंतर मूल्यों के साथ अलग-अलग कारक हैं। (यादृच्छिक नमूना नीचे उत्पन्न होता है)पूरे facet_grid

randomData = expand.grid(1:5, 1:100) # The two discrete variables 
colnames(randomData) = c("index1", "index2") 

randomData$z = runif(nrow(randomData)) # The measured value 

ggplot(randomData, aes(x = 1, y = z)) + 
    geom_bar(stat = "identity") + 
    facet_grid(index1 ~ index2) + 
    theme_minimal() 

enter image description here

मैं परिपत्र/ध्रुवीय लेआउट, एक नीचे प्रदर्शित, बार भूखंडों उत्पन्न का उपयोग कर इस तरह के रूप में पूरे ग्रिड रैप करने के लिए कोशिश कर रहा हूँ।

पहली साजिश वांछित आउटपुट (पहली पहलू साजिश से फोटो संपादन उपकरण द्वारा छेड़छाड़ की गई) है। दूसरी साजिश इस ब्लॉग पोस्ट का आउटपुट है: http://chrisladroue.com/2012/02/polar-histogram-pretty-and-useful/)। हालांकि, इसमें केवल एक पंक्ति "पंक्ति" है।

enter image description here enter image description here

मुझे लगता है कि ऐसा करने के लिए एक तरह से यह पता लगाने नहीं कर सकते। जब मैं coord_polar() जोड़ने की कोशिश करता हूं, तो बार प्लॉट स्वयं प्रभावित होते हैं और पहलू नहीं होते हैं।

+0

क्या आपने इस पर संपूर्ण ब्लॉग पोस्ट पढ़ा है? (जहां आपने छवि को सोर्स किया था)। लेखक कोड कैसे प्रदान करता है इस पर कोड प्रदान करता है। http://chrisladroue.com/2012/02/polar- हिस्टोग्राम-pretty-and-useful/ – Heroka

+0

हां हेरोका। मुख्य अंतर है कि मेरे पास दो (और एक नहीं) अलग श्रेणियां हैं, प्रत्येक में एक अलग हिस्टोग्राम है। –

+0

आपका वांछित आउटपुट वास्तव में क्या है .. आप इंडेक्स 2 के प्रत्येक मान के लिए एक प्लॉट रखना चाहते हैं और इसमें आप सर्कल में व्यवस्थित 5 बार (इंडेक्स 1 के प्रत्येक मान के लिए एक) रखना चाहते हैं? – konvas

उत्तर

4

मुझे नहीं लगता कि आप एक सर्कल में पहलुओं की व्यवस्था कर सकते हैं, लेकिन आप अपने एक्स और वाई चर बदलकर और coord_polar() का उपयोग करके धोखा दे सकते हैं।

library(ggplot2) 
library(dplyr) 
d <- rbind(
    mutate(randomData, col = "dark"), 
    mutate(randomData, col = "blank", z = 1 - z) 
) %>% arrange(d, index2, index1, col) 

ggplot(d, aes(x = factor(index2), y = z)) + 
    geom_bar(aes(fill = col), stat = "identity", position = "stack") + 
    scale_fill_manual(values = c(blank = "white", dark = "black")) + 
    coord_polar() + 
    theme_minimal() + 
    guides(fill = FALSE) 

enter image description here

आप फिट करने के लिए अपने मूल डेटा सेट इस काफ़ी अनुकूल करने के लिए होता है, लेकिन आप अंदाजा हो - मूल्यों (1 - जेड) के लिए पंक्तियों को जोड़ने और उन्हें इस्तेमाल सलाखों ढेर

+0

धन्यवाद Konvas! यही वह है जो मैं ढूंढ रहा था :) –

संबंधित मुद्दे