Ggplot2 में लॉगरिदमिक स्केल कैसे बनाएं


अक्सर आप ggplot2 प्लॉट के x-अक्ष या y-अक्ष के पैमाने को लघुगणकीय पैमाने में बदलना चाह सकते हैं।

ऐसा करने के लिए आप केवल ggplot2 का उपयोग करके दो विधियों में से एक का उपयोग कर सकते हैं:

1. स्केल_वाई_कंटीन्यूअस() या स्केल_x_कंटीन्युअस() का उपयोग करें

 ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ') +
  scale_x_continuous(trans=' log10 ')

2. निर्देशांक_ट्रांस() का उपयोग करें

 ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  coord_trans(y = ' log10 ' , x=' log10 ')

यदि आप घातांक प्रदर्शित करने के लिए अक्ष लेबल को प्रारूपित करना चाहते हैं, तो आप स्केल पैकेज में फ़ंक्शन का उपयोग कर सकते हैं:

 ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ',
                     breaks= trans_breaks (' log10 ', function (x) 10^x),
                     labels= trans_format (' log10 ', math_format (10^.x)))

यह ट्यूटोरियल व्यवहार में इन कार्यों का उपयोग कैसे करें इसके उदाहरण दिखाता है।

उदाहरण 1: स्केल_वाई_कंटीन्युअस() का उपयोग करके लघुगणकीय स्केल

निम्नलिखित कोड दिखाता है कि स्कैटर प्लॉट के y अक्ष के लिए लॉगरिदमिक स्केल बनाने के लिए स्केल_y_continous() फ़ंक्शन का उपयोग कैसे करें:

 library (ggplot2)

#create data frame
df <- data.frame(x=c(2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y=c(1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#create scatterplot with log scale on y-axis
ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ')

Ggplot2 के y अक्ष पर लघुगणकीय पैमाना

उदाहरण 2: coord_trans() का उपयोग करके लघुगणकीय पैमाना

निम्नलिखित कोड दिखाता है कि स्कैटर प्लॉट के y-अक्ष के लिए लघुगणकीय स्केल बनाने के लिए coord_trans() फ़ंक्शन का उपयोग कैसे करें:

 library (ggplot2)

#create data frame
df <- data.frame(x=c(2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y=c(1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#create scatterplot with log scale on y-axis
ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  coord_trans(y=' log10 ') 

लॉगरिदमिक स्केल ggplot2

उदाहरण 3: कस्टम लॉगरिदमिक स्केल लेबल

निम्नलिखित कोड दिखाता है कि स्कैटरप्लॉट के y-अक्ष के लिए लॉगरिदमिक स्केल बनाने और घातांक के साथ कस्टम लेबल जोड़ने के लिए स्केल पैकेज में फ़ंक्शन का उपयोग कैसे करें:

 library (ggplot2)
library (scales)

#create data frame
df <- data.frame(x=c(2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y=c(1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#create scatterplot with log scale on y-axis and custom labels
ggplot(df, aes (x=x, y=y)) +
  geom_point() +
  scale_y_continuous(trans=' log10 ',
                     breaks= trans_breaks (' log10 ', function (x) 10^x),
                     labels= trans_format (' log10 ', math_format (10^.x))) 

Ggplot2 में घातांक के साथ लघुगणकीय पैमाना

ध्यान दें कि पिछले दो प्लॉट के विपरीत, Y अक्ष लेबल में घातांक हैं।

अतिरिक्त संसाधन

Ggplot2 शीर्षकों के लिए संपूर्ण मार्गदर्शिका
सर्वोत्तम ggplot2 थीम के लिए एक संपूर्ण मार्गदर्शिका
Ggplot2 में साइड-बाय-साइड प्लॉट कैसे बनाएं

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *