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 ')
उदाहरण 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 ')
उदाहरण 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)))
ध्यान दें कि पिछले दो प्लॉट के विपरीत, Y अक्ष लेबल में घातांक हैं।
अतिरिक्त संसाधन
Ggplot2 शीर्षकों के लिए संपूर्ण मार्गदर्शिका
सर्वोत्तम ggplot2 थीम के लिए एक संपूर्ण मार्गदर्शिका
Ggplot2 में साइड-बाय-साइड प्लॉट कैसे बनाएं