ggplot2 में पक्ष अनुपात बनाए रखने, coord_fixed()
समन्वय प्रणाली है कि डाटा का पहलू अनुपात एक दिया मूल्य पर बनाए रखा है सुनिश्चित करता है। इसलिए, डेटा के आकार को बनाए रखने के लिए पैनल का आकार बदल जाता है। इस बीच coord_flip()
साजिश के अक्षों को स्वैप करता है। हालांकि, ggplot2 में एक साजिश में एक समन्वय प्रणाली होनी चाहिए, इसलिए इन कार्यों को संयुक्त नहीं किया जा सकता है।ggplot2: कुल्हाड़ियों फ्लिप और डेटा
मेरा प्रश्न है:
वहाँ
coord_fixed()
औरcoord_flip()
के व्यवहार संयोजित करने का उपाय मौजूद है, साथ x और y अक्ष एक समन्वय प्रणाली में जिसके परिणामस्वरूप का आदान-प्रदान और डेटा की एक निश्चित पहलू अनुपात?
यह एक लोकप्रिय सवाल है, तथापि आम उत्तर गलत है है:
- How do I to fix aspect ratio and apply coord_flip in ggplot2?
- Flipping and maintaining aspect ratio of a chart in ggplot2
सामान्यतः सुझाव दिया जवाब theme(aspect.ratio = 1)
बजाय coord_fixed()
के साथ एक साथ coord_flip()
उपयोग करने के लिए है । हालांकि, ggplot2 दस्तावेज़ीकरण के अनुसार, यह सेटिंग "पैनल के पहलू अनुपात" को संदर्भित करती है। इस प्रकार, पैनल के आकार को बनाए रखने के लिए डेटा आकार बदल जाएगा।
मुझे लगता है कि यह एक विशेषता यह है कि वर्तमान में ggplot2 में मौजूद नहीं है है। लेकिन अधिक महत्वपूर्ण बात यह है कि मुझे लगता है कि एक सही समाधान या इस प्रश्न के कम से कम प्रतिक्रिया दस्तावेज किया जाना चाहिए।
मुद्दे के त्वरित न्यूनतम उदाहरण:
library(ggplot2)
x <- 1:100; data <- data.frame(x = x, y = x * 2)
p <- ggplot(data, aes(x, y)) + geom_point()
p # by default panel and data both fit to device window
p + coord_fixed() # panel changes shape to maintain shape of data
p + theme(aspect.ratio = 1) # data changes shape to maintain shape of panel
p + coord_fixed() + coord_flip() # coord_flip() overwrites coord_fixed()
# popular suggested answer does not maintain aspect ratio of data:
p + coord_flip() + theme(aspect.ratio = 1)
चीयर्स, मुझे लगता है कि समाधान सबसे अच्छा फ़िलहाल मौजूद है। (लेकिन अपने पहले वाक्य के बारे में - 'theme' समाधान सिर्फ गलत है, कोई योग्यता आवश्यक है मैं स्थानिक डेटा को देख रहा हूँ और यह जानने के लिए कि डेटा अपने असली रूप में दिखाया जा रहा है के लिए महत्वपूर्ण है' theme' समाधान कर सकते हैं।। विपरीत प्रभाव – mb7744
@ mb7744 मैं केवल तथ्य यह है कि _many_ लोग (लेकिन निश्चित रूप से सभी नहीं) के लिए मूल समाधान ठीक है की चर्चा करते हुए किया गया था और आगे डेटा बिगाड़ना।)। मैं आपसे असहमत नहीं हूं (यही कारण है कि मैंने सवाल का जवाब दिया)। – Axeman
ज़रूर --- लेकिन क्या मैं हो रही है कि है कि यह केवल लोगों की है कि अंतर नोटिस नहीं है, और उनकी साजिश का गलत मतलब निकालने के लिए ठीक हो सकता है। मुझे लगता है कि इस कारण एसओ पर इस बारे में पिछले दो प्रश्नों में गलत स्वीकृत उत्तर हैं। लेकिन यह सिर्फ मुझे नाइटपिकिंग है। मैं आपके समाधान की सराहना करता हूं! – mb7744