पायथन में बहुआयामी ग्राफिक्स - त्रि-आयामी से छह-आयामी तक

बहुआयामी रेखांकन के उदाहरण

परिचय


विज़ुअलाइज़ेशन डेटा विश्लेषण का एक महत्वपूर्ण हिस्सा है, और एक ही समय में कई आयामों को देखने की क्षमता इस कार्य को आसान बनाती है। ट्यूटोरियल में हम 6 आयामों तक ग्राफ खींचेंगे।


प्लॉटली विभिन्न प्रकार के विज़ुअलाइज़ेशन के लिए एक खुला स्रोत पायथन लाइब्रेरी है जो प्रसिद्ध मेटप्लोटलिब और सीबोर्न की तुलना में बहुत अधिक अनुकूलन प्रदान करता है। मॉड्यूल हमेशा की तरह स्थापित किया गया है - प्लॉट स्थापित करें । हम इसका उपयोग रेखाचित्र बनाने के लिए करेंगे।


चलो डेटा तैयार करते हैं


विज़ुअलाइज़ेशन के लिए, हम यूसीआई (कैलिफोर्निया विश्वविद्यालय, इरविन - लगभग अनुवाद) से कारों के बारे में सरल डेटा का उपयोग करते हैं, जो 205 कारों के लिए 26 विशेषताओं (205 पंक्तियों के लिए 26 कॉलम ) का प्रतिनिधित्व करते हैं। छह आयामों की कल्पना करने के लिए, हम इन छह मापदंडों को लेते हैं।


205 में से केवल 4 लाइनें यहां दिखाई गई हैं।

पांडा का उपयोग करके CSV से डेटा डाउनलोड करें।


import pandas as pd data = pd.read_csv("cars.csv") 

अब, तैयार होने के बाद, दो आयामों के साथ शुरू करते हैं।


दोयम दर्जे का बिखराव


एक स्कैल्पलॉट एक बहुत ही सरल और आम साजिश है। 6 मापदंडों में से, मूल्य और अंकुश-वजन क्रमशः वाई और एक्स के रूप में नीचे उपयोग किए जाते हैं।


 #    import plotly import plotly.graph_objs as go #  figure fig1 = go.Scatter(x=data['curb-weight'], y=data['price'], mode='markers') #  layout mylayout = go.Layout(xaxis=dict(title="curb-weight"), yaxis=dict( title="price")) #     HTML plotly.offline.plot({"data": [fig1], "layout": mylayout}, auto_open=True) 

प्लॉटली में, प्रक्रिया मैटलपोटलिब में उसी से थोड़ी अलग है। हमें एक लेआउट और आकृति बनानी होगी, उन्हें ऑफलाइन.प्लॉट फंक्शन में पास करना होगा, जिसके बाद वर्तमान वर्किंग डायरेक्टरी में HTML फाइल में रिजल्ट सेव हो जाएगा। यहाँ एक स्क्रीनशॉट होता है कि क्या होता है। लेख के अंत में तैयार इंटरएक्टिव एचटीएमएल-ग्राफिक्स के साथ गिटहब रिपॉजिटरी का लिंक होगा।


दोयम दर्जे का बिखराव

3 डी स्कैटर प्लॉट


हम Z अक्ष पर तीसरे हॉर्स पावर पैरामीटर (हॉर्स पावर की मात्रा) जोड़ सकते हैं। इंटरैक्टिव 3 डी ग्राफ़ बनाने के लिए प्लॉटली एक स्कैटर 3 डी फ़ंक्शन प्रदान करता है।


3 डी ग्राफ

हर बार यहां कोड चिपकाने के बजाय, मैंने इसे रिपॉजिटरी में जोड़ दिया।


(यह समीपवर्ती टैब में प्रासंगिक कोड को पढ़ने के साथ समानांतर में देखने के लिए सबसे सुविधाजनक है - लगभग। अनुवाद)।


चौथा आयाम जोड़ना


हम जानते हैं कि आप सीधे तीन आयामों का उपयोग नहीं कर सकते, लेकिन एक समाधान है: हम रंग, आकार या आकार का उपयोग करके उच्च आयामों की कल्पना करने के लिए गहराई का अनुकरण कर सकते हैं।


यहां, पिछली तीन विशेषताओं के साथ, हम चौथे आयाम के रूप में सिटी माइलेज - सिटी- एमपीएसपी का उपयोग करेंगे, जिसके लिए स्कैटर 3 डी फ़ंक्शन के मार्करकलर पैरामीटर जिम्मेदार होंगे। मार्कर की एक हल्की छाया का मतलब कम माइलेज होगा।


यह तुरंत स्पष्ट है कि कीमत जितनी अधिक होगी, घोड़ों की संख्या और द्रव्यमान, माइलेज कम होगा।


4 डी आयाम के रूप में रंगों के साथ 4D ग्राफ

पांचवां आयाम जोड़ना


5 वें आयाम की कल्पना करने के लिए मार्कर आकार का उपयोग किया जा सकता है। हम Scatter3D फ़ंक्शन के मार्कर पैरामीटर के लिए इंजन-आकार की विशेषता का उपयोग करते हैं।


अवलोकन: इंजन का आकार पिछले कुछ मापदंडों से संबंधित है। कीमत जितनी अधिक होगी, इंजन उतना ही बड़ा होगा। साथ ही: कम माइलेज - अधिक इंजन।


पांचवें आयाम के रूप में मार्कर मूल्य के साथ 5D भूखंड (मोटर आकार)

छठा आयाम जोड़ना


मार्कर का आकार श्रेणियों को देखने के लिए बहुत अच्छा है। 3 डी ग्राफिक्स (तारांकन, चक्र, वर्ग, आदि) के लिए प्लॉट आपको 10 अलग-अलग आकृतियों का विकल्प देता है। इस प्रकार, 10 अलग-अलग मानों को एक फॉर्म के रूप में दिखाया जा सकता है।


हमारे पास विशिष्ट संख्या के दरवाजे हैं , जिसमें पूर्णांक हैं - दरवाजों की संख्या (2 या 4)। हम इन मूल्यों को आंकड़ों में बदलते हैं: 4 दरवाजों के लिए एक वर्ग, 2 दरवाजों के लिए एक चक्र। Scatter3D फ़ंक्शन के मार्कर्सबोल पैरामीटर का उपयोग किया जाता है


अवलोकन: ऐसा लगता है कि सभी सस्ती कारों में 4 दरवाजे (सर्कल) हैं। अनुसूची का अध्ययन जारी रखते हुए, अधिक धारणाएं और निष्कर्ष बनाए जा सकते हैं।


छठे आयाम के रूप में मार्कर आकार के साथ 6D ग्राफ (दरवाजों की संख्या)

क्या हम और आयाम जोड़ सकते हैं?


बेशक हम कर सकते हैं! मार्करों में अधिक गुण हैं, जैसे कि अस्पष्टता और ग्रेडिएंट्स, जो सक्षम हो सकते हैं। लेकिन हम जितने अधिक आयाम जोड़ते हैं, उन सभी को सिर में रखना उतना ही मुश्किल होता है।


स्रोत कोड


सभी आकृतियों के लिए पायथन कोड और इंटरैक्टिव ग्राफिक्स यहाँ GitHub पर उपलब्ध हैं।

Source: https://habr.com/ru/post/hi456282/


All Articles