खोज…


टिप्पणियों

ggplot2 की अपनी संपूर्ण संदर्भ वेबसाइट http://ggplot2.tidyverse.org/ है

अधिकांश समय, प्लॉट डेटा की संरचना या सामग्री (उदाहरण के लिए data.frame ) को बाद में प्लॉट के भीतर चीजों को समायोजित करने की तुलना में अनुकूलित करना अधिक सुविधाजनक होता है।

RStudio एक बहुत ही उपयोगी "डेटा विज़ुअलाइज़ेशन ggplot2" के साथ प्रकाशित करता है, जो यहां पाया जा सकता है

तितर बितर भूखंडों

हम एक सरल स्कैटर प्लॉट का निर्माण निम्नानुसार निर्मित आइरिस डेटा सेट का उपयोग करके करते हैं:

library(ggplot2)
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color = Species)) + 
  geom_point()

यह देता है: आईरिस डाटासेट का उपयोग कर नमूना तितर बितर साजिश

कई भूखंडों को प्रदर्शित करना

विभिन्न facet साथ एक छवि में कई भूखंडों को प्रदर्शित करें। इस पद्धति का एक फायदा यह है कि सभी कुल्हाड़ियाँ चार्ट में समान पैमाने साझा करती हैं, जिससे एक नज़र में उनकी तुलना करना आसान हो जाता है। हम ggplot2 में शामिल mpg डेटासेट का उपयोग करेंगे।

चार्ट को लाइन से लपेटें (चौकोर लेआउट बनाने का प्रयास):

ggplot(mpg, aes(x = displ, y = hwy)) + 
  geom_point() + 
  facet_wrap(~class)

एक पंक्ति पर कई चार्ट प्रदर्शित करें, कई कॉलम:

ggplot(mpg, aes(x = displ, y = hwy)) + 
  geom_point() + 
  facet_grid(.~class)

एक स्तंभ पर कई चार्ट प्रदर्शित करें, कई पंक्तियाँ:

ggplot(mpg, aes(x = displ, y = hwy)) + 
  geom_point() + 
  facet_grid(class~.)

2 चरों द्वारा ग्रिड में कई चार्ट प्रदर्शित करें:

ggplot(mpg, aes(x = displ, y = hwy)) + 
  geom_point() + 
  facet_grid(trans~class) #"row" parameter, then "column" parameter

साजिश रचने के लिए अपना डेटा तैयार करें

ggplot2 एक लंबे डेटा फ्रेम के साथ सबसे अच्छा काम करता है। निम्न नमूना डेटा जो मिठाई के लिए 20 अलग-अलग दिनों में कीमतों का प्रतिनिधित्व करता है, एक प्रारूप में वर्णित है, क्योंकि प्रत्येक श्रेणी में एक कॉलम है।

set.seed(47)
sweetsWide <- data.frame(date      = 1:20,
                         chocolate = runif(20, min = 2, max = 4),
                         iceCream  = runif(20, min = 0.5, max = 1),
                         candy     = runif(20, min = 1, max = 3))

head(sweetsWide)
##   date chocolate  iceCream    candy
## 1    1  3.953924 0.5890727 1.117311
## 2    2  2.747832 0.7783982 1.740851
## 3    3  3.523004 0.7578975 2.196754
## 4    4  3.644983 0.5667152 2.875028
## 5    5  3.147089 0.8446417 1.733543
## 6    6  3.382825 0.6900125 1.405674

परिवर्तित करने के लिए sweetsWide साथ प्रयोग के लिए लंबे प्रारूप करने के लिए ggplot2 , आधार आर से कई उपयोगी काम करता है, और संकुल reshape2 , data.table और tidyr (कालानुक्रमिक क्रम में) का उपयोग किया जा सकता है:

# reshape from base R
sweetsLong <- reshape(sweetsWide, idvar = 'date', direction = 'long', 
                      varying = list(2:4), new.row.names = NULL, times = names(sweetsWide)[-1])

# melt from 'reshape2'
library(reshape2)
sweetsLong <- melt(sweetsWide, id.vars = 'date')

# melt from 'data.table'
# which is an optimized & extended version of 'melt' from 'reshape2'
library(data.table)
sweetsLong <- melt(setDT(sweetsWide), id.vars = 'date')

# gather from 'tidyr'
library(tidyr)
sweetsLong <- gather(sweetsWide, sweet, price, chocolate:candy)

सभी एक समान परिणाम देते हैं:

head(sweetsLong)
##   date     sweet    price
## 1    1 chocolate 3.953924
## 2    2 chocolate 2.747832
## 3    3 chocolate 3.523004
## 4    4 chocolate 3.644983
## 5    5 chocolate 3.147089
## 6    6 chocolate 3.382825

लंबी और चौड़ी प्रारूप के बीच डेटा परिवर्तित करने के विवरण के लिए लंबी और चौड़ी रूपों के बीच डेटा को फिर से आकार देना भी देखें।

जिसके परिणामस्वरूप sweetsLong में कीमतों का एक कॉलम और मिठाई के प्रकार का वर्णन करने वाला एक कॉलम होता है। अब साजिश करना बहुत सरल है:

library(ggplot2)
ggplot(sweetsLong, aes(x = date, y = price, colour = sweet)) + geom_line()

मिठाई डेटा के लाइन ग्राफ

प्लॉट में क्षैतिज और ऊर्ध्वाधर रेखाएं जोड़ें

सभी श्रेणीबद्ध चर के लिए एक सामान्य क्षैतिज रेखा जोड़ें

# sample data
df <- data.frame(x=('A', 'B'), y = c(3, 4))

p1 <- ggplot(df, aes(x=x, y=y)) 
        + geom_bar(position = "dodge", stat = 'identity') 
        + theme_bw()

p1 + geom_hline(aes(yintercept=5), colour="#990000", linetype="dashed")

plot1

प्रत्येक श्रेणीगत चर के लिए एक क्षैतिज रेखा जोड़ें

# sample data
df <- data.frame(x=('A', 'B'), y = c(3, 4))

# add horizontal levels for drawing lines
df$hval <- df$y + 2

p1 <- ggplot(df, aes(x=x, y=y)) 
        + geom_bar(position = "dodge", stat = 'identity') 
        + theme_bw()

p1 + geom_errorbar(aes(y=hval, ymax=hval, ymin=hval), colour="#990000", width=0.75)

plot2

समूहीकृत सलाखों के ऊपर क्षैतिज रेखा जोड़ें

# sample data
df <- data.frame(x = rep(c('A', 'B'), times=2), 
             group = rep(c('G1', 'G2'), each=2), 
             y = c(3, 4, 5, 6), 
             hval = c(5, 6, 7, 8))

p1 <- ggplot(df, aes(x=x, y=y, fill=group)) 
        + geom_bar(position="dodge", stat="identity")

p1 + geom_errorbar(aes(y=hval, ymax=hval, ymin=hval), 
               colour="#990000", 
               position = "dodge", 
               linetype = "dashed")

plot3

वर्टिकल लाइन जोड़ें

# sample data
df <- data.frame(group=rep(c('A', 'B'), each=20), 
                 x = rnorm(40, 5, 2), 
                 y = rnorm(40, 10, 2))

p1 <-  ggplot(df, aes(x=x, y=y, colour=group)) + geom_point()

p1 + geom_vline(aes(xintercept=5), color="#990000", linetype="dashed")

यहाँ छवि विवरण दर्ज करें

ऊर्ध्वाधर और क्षैतिज बार चार्ट

ggplot(data = diamonds, aes(x = cut, fill =color)) +
  geom_bar(stat = "count", position = "dodge")

यहाँ छवि विवरण दर्ज करें

यह एक क्षैतिज बार चार्ट प्राप्त करना संभव है, बस ggplot ऑब्जेक्ट में ord_flip () सौंदर्य जोड़ने:

  ggplot(data = diamonds, aes(x = cut, fill =color)) +
  geom_bar(stat = "count", position = "dodge")+
  coord_flip()

यहाँ छवि विवरण दर्ज करें

वायलिन प्लाट

वायलिन प्लॉट कर्नेल घनत्व वर्टिकल प्लेन में प्रतिबिंबित अनुमान हैं। वे किसी भी मतभेदों को उजागर करने में मदद करने वाले मिररिंग के साथ, कई वितरणों को साइड-बाय-साइड कल्पना करने के लिए इस्तेमाल किया जा सकता है।

ggplot(diamonds, aes(cut, price)) +
  geom_violin()

मूल वायलिन साजिश

वायलिन भूखंडों को संगीत वाद्ययंत्र के सदृश नाम दिया गया है, यह विशेष रूप से दिखाई देता है जब उन्हें एक ओवरलैड बॉक्सप्लेट के साथ जोड़ा जाता है। यह विज़ुअलाइज़ेशन तब Tukey के 5 नंबर सारांश (बॉक्सप्लेट्स के रूप में) और पूर्ण निरंतर घनत्व अनुमान (वायलिन) के संदर्भ में अंतर्निहित वितरण का वर्णन करता है।

ggplot(diamonds, aes(cut, price)) +
  geom_violin() +
  geom_boxplot(width = .1, fill = "black", outlier.shape = NA) +
  stat_summary(fun.y = "median", geom = "point", col = "white")

बॉक्सप्लॉट के साथ वायलिन साजिश

Qplot के साथ बुनियादी भूखंडों का उत्पादन

qplot का उद्देश्य बेस आर plot() फ़ंक्शन के समान है, बहुत अधिक विनिर्देशों की आवश्यकता के बिना हमेशा अपने डेटा को प्लॉट करने की कोशिश करना।

बुनियादी qplot

qplot(x = disp, y = mpg, data = mtcars)

यहाँ छवि विवरण दर्ज करें

रंग जोड़ना

qplot(x = disp, y = mpg, colour = cyl,data = mtcars)

यहाँ छवि विवरण दर्ज करें

एक चिकनी जोड़ने

qplot(x = disp, y = mpg, geom = c("point", "smooth"), data = mtcars)

यहाँ छवि विवरण दर्ज करें



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow