मैटप्लोटलिब: स्कैटरप्लॉट को मूल्य के आधार पर कैसे रंगें
अक्सर आप किसी तीसरे वेरिएबल के आधार पर मैटप्लोटलिब स्कैटरप्लॉट में बिंदुओं के रंग को शेड करना चाह सकते हैं। सौभाग्य से, 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 रंग पैलेट दस्तावेज़ीकरण में उपयोग करने के लिए उपलब्ध रंग पैलेट की पूरी सूची पा सकते हैं।
उदाहरण के लिए, हम इसके बजाय रंग पैलेट के रूप में “ग्रीन्स” निर्दिष्ट कर सकते हैं:
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 ')
उदाहरण 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 ()
आप यहां अधिक पायथन ट्यूटोरियल पा सकते हैं।