मैटप्लोटलिब: स्कैटरप्लॉट को मूल्य के आधार पर कैसे रंगें


अक्सर आप किसी तीसरे वेरिएबल के आधार पर मैटप्लोटलिब स्कैटरप्लॉट में बिंदुओं के रंग को शेड करना चाह सकते हैं। सौभाग्य से, matplotlib.pyplot.scatter() फ़ंक्शन का उपयोग करना आसान है, जो निम्नलिखित सिंटैक्स लेता है:

matplotlib.pyplot.scatter(x, y, s=कोई नहीं, c=कोई नहीं, cmap=कोई नहीं)

सोना:

  • x: प्लॉट में x अक्ष की स्थिति के लिए उपयोग किए जाने वाले मानों की तालिका।
  • y: प्लॉट में y अक्ष स्थितियों के लिए उपयोग किए जाने वाले मानों की सरणी।
  • s: मार्कर का आकार.
  • सी: मार्कर रंगों के लिए उपयोग किए जाने वाले मानों की तालिका।
  • सीएमएपी: प्लॉटिंग में उपयोग करने के लिए एक रंगीन मानचित्र।

आप रंग मानों के लिए उपयोग करने के लिए एक चर निर्दिष्ट करने के लिए सी का उपयोग कर सकते हैं और बिंदु क्लाउड में मार्करों के लिए उपयोग करने के लिए वास्तविक रंगों को निर्दिष्ट करने के लिए आप सीएमएपी का उपयोग कर सकते हैं।

यह ट्यूटोरियल इस फ़ंक्शन के व्यावहारिक उपयोग के कई उदाहरण बताता है।

उदाहरण 1: मूल्य के अनुसार रंगीन स्कैटरप्लॉट बिंदु

मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': [3, 4, 4, 5, 7, 8, 8, 9]})

#view DataFrame
df

        X Y Z
0 25 5 3
1 12 7 4
2 15 7 4
3 14 9 5
4 19 12 7
5 23 9 8
6 25 9 8
7 29 4 9

निम्नलिखित कोड दिखाता है कि ग्रे रंग पैलेट का उपयोग करके और रंग पैलेट की छाया के रूप में z चर के मानों का उपयोग करके एक बिंदु क्लाउड कैसे बनाया जाए:

 import matplotlib.pyplot as plt

#create scatterplot
plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' gray ')

Matplotlib मूल्य के आधार पर प्लॉट का रंग बिखेरता है

इस विशेष उदाहरण के लिए, हम “ग्रे” रंग पैलेट चुनते हैं, लेकिन आप matplotlib रंग पैलेट दस्तावेज़ीकरण में उपयोग करने के लिए उपलब्ध रंग पैलेट की पूरी सूची पा सकते हैं।

उदाहरण के लिए, हम इसके बजाय रंग पैलेट के रूप में “ग्रीन्स” निर्दिष्ट कर सकते हैं:

 plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens ') 

सीएमएपी के साथ मैटप्लोटलिब स्कैटर प्लॉट

डिफ़ॉल्ट रूप से, c तर्क के लिए बड़े मान वाले मार्कर गहरे रंग में छायांकित होते हैं, लेकिन आप केवल cmap नाम में _r जोड़कर इस प्रवृत्ति को उलट सकते हैं:

 plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens_r ') 

Matplotlib रंग पैलेट उलटा स्केल

उदाहरण 2: श्रेणी के अनुसार रंगीन स्कैटरप्लॉट बिंदु

मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']})

#view DataFrame
df

	X Y Z
0 25 5 A
1 12 7 A
2 15 7 B
3 14 9 B
4 19 12 B
5 23 9 C
6 25 9 C
7 29 4 C

निम्नलिखित कोड दिखाता है कि श्रेणी के आधार पर मार्करों को रंगने के लिए z वेरिएबल का उपयोग करके स्कैटरप्लॉट कैसे बनाया जाए:

 import matplotlib.pyplot as plt

groups = df. groupby ('z')
for name, group in groups:
    plt. plot (group.x, group.y, marker=' o ', linestyle='', markersize=12, label=name)

plt. legend ()

Matplotlib स्कैटर प्लॉट को श्रेणी के अनुसार रंगा गया है

आप यहां अधिक पायथन ट्यूटोरियल पा सकते हैं।

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

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