मैं प्रोग्रामेटिकली कैसे बता सकता हूं कि एक ggplot के कितने पहलू हैं?


13

नीचे कोड और एक ग्राफ है।

ग्राफ के तीन पहलू हैं। the_plotमैं कहां से पा सकता हूं इसके तीन पहलू हैं? हां, मुझे mtcarsडेटा फ्रेम से, या the_plot$data, लेकिन मैं डेटा विश्लेषण को फिर से बनाना नहीं चाहता। इसके बजाय, मैं के ग्राफिकल तत्वों का निरीक्षण करना चाहता हूं the_plot, इसलिए मुझे कई स्थानों पर एप्लिकेशन लॉजिक की नकल करने की आवश्यकता नहीं है। the_plot$facetमैं जो कुछ भी पहचानता हूं, वह नहीं दिखाता और न ही अन्य प्लॉट चर।

मैं 1.3.0 tidyverse का उपयोग कर रहा हूं।

library(tidyverse)
data(mtcars)
the_plot<-ggplot(mtcars, aes(mpg, disp, group=cyl)) + facet_wrap(~cyl) + geom_point()
the_plot

मुखरित साजिश


संभवतः ggplot_build(the_plot)$layout$layoutसे stackoverflow.com/questions/44107119/...
MrFlick

कुछ विवरण जोड़ते हैं, आपका the_plotवह नहीं है जो आप प्लॉट में देखते हैं, लेकिन आप क्या प्लॉट करना चाहते हैं (डेटा, मैपिंग, थीम, आदि) का विवरण। जब आप the_plotकंसोल में लिखते हैं, तो आप वास्तव में कॉल कर रहे हैं print(the_plot), जो एक प्रक्रिया शुरू करता है जो तराजू, संख्या और पहलुओं की स्थिति आदि का एहसास करता है और फिर एक ग्राफिकल डिवाइस के लिए बक्से, लाइनों और पाठ को आउटपुट करता है।
मृग्मल

जवाबों:


12

आप gg_build () - फ़ंक्शन के साथ ggplot डेटा तक पहुंच सकते हैं

out <- ggplot_build(the_plot)

length(levels(out$data[[1]]$PANEL))
[1] 3

8

एक और तरीका

library(ggplot2)
data(mtcars)
the_plot<-ggplot(mtcars, aes(mpg, disp, group=cyl)) + facet_wrap(~cyl) + geom_point()
pb <- ggplot_build(the_plot)
pb$layout$layout$PANEL
#> [1] 1 2 3
#> Levels: 1 2 3

2020-04-21 को रेप्रेक्स पैकेज (v0.3.0) द्वारा बनाया गया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.