Merge pull request #189 from imsushant12/visualization-hindi

Added hindi translation of all Vizualization base README
pull/200/head
Jasmine Greenaway 3 years ago committed by GitHub
commit c106dd6560
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,204 @@
# विज़ुअलाइज़िंग मात्रा
|![ सकेटच्नोते करने वाला [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/09-Visualizing-Quantities.png)|
|:---:|
| विज़ुअलाइज़िंग मात्रा - _सकेटच्नोते करने वाला [@nitya](https://twitter.com/nitya)_ |
इस पाठ में आप यह पता लगाएंगे कि मात्रा की अवधारणा के चारों ओर दिलचस्प विज़ुअलाइज़ेशन कैसे बनाएं, यह जानने के लिए कई उपलब्ध पायथन पुस्तकालयों में से एक का उपयोग कैसे करें। मिनेसोटा के पक्षियों के बारे में साफ किए गए डेटासेट का उपयोग करके, आप स्थानीय वन्यजीवों के बारे में कई रोचक तथ्य जान सकते हैं।
## [प्री-रीडिंग क्विज](https://red-water-0103e7a0f.azurestaticapps.net/quiz/16)
## माटप्लोटलिब के साथ पंखों का निरीक्षण करें
सरल और परिष्कृत दोनों प्रकार के प्लॉट और विभिन्न प्रकार के चार्ट बनाने के लिए एक उत्कृष्ट पुस्तकालय है [माटप्लोटलिब](https://matplotlib.org/stable/index.html)। सामान्य शब्दों में, इन पुस्तकालयों का उपयोग करके डेटा को प्लॉट करने की प्रक्रिया में आपके डेटाफ़्रेम के उन हिस्सों की पहचान करना शामिल है जिन्हें आप लक्षित करना चाहते हैं, उस डेटा पर कोई भी आवश्यक परिवर्तन करना, इसके x और y अक्ष मान निर्दिष्ट करना, यह तय करना कि किस प्रकार का प्लॉट दिखाना है, और फिर साजिश दिखा रहा है। माटप्लोटलिब विज़ुअलाइज़ेशन की एक विशाल विविधता प्रदान करता है, लेकिन इस पाठ के लिए, आइए उन पर ध्यान केंद्रित करें जो मात्रा को देखने के लिए सबसे उपयुक्त हैं: लाइन चार्ट, स्कैटरप्लॉट और बार प्लॉट।
> ✅ अपने डेटा की संरचना और जो कहानी आप बताना चाहते हैं, उसके अनुरूप सर्वोत्तम चार्ट का उपयोग करें।
> - समय के साथ रुझानों का विश्लेषण करने के लिए: लाइन
> - मानों की तुलना करने के लिए: बार, कॉलम, पाई, स्कैटरप्लॉट
> - यह दिखाने के लिए कि भाग किस प्रकार संपूर्ण से संबंधित हैं: पाई
> - डेटा का वितरण दिखाने के लिए: स्कैटरप्लॉट, बार
> - रुझान दिखाने के लिए: लाइन, कॉलम
> - मानों के बीच संबंध दिखाने के लिए: लाइन, स्कैटरप्लॉट, बबल
यदि आपके पास एक डेटासेट है और यह पता लगाने की आवश्यकता है कि किसी दिए गए आइटम में से कितना शामिल है, तो आपके पास सबसे पहले कार्यों में से एक इसके मूल्यों का निरीक्षण करना होगा।
✅ माटप्लोटलिब के लिए बहुत अच्छी 'चीट शीट' उपलब्ध हैं [here](https://github.com/matplotlib/cheatsheets/blob/master/cheatsheets-1.png) and [here](https://github.com/matplotlib/cheatsheets/blob/master/cheatsheets-2.png).
## बर्ड विंगस्पैन मूल्यों के बारे में एक लाइन प्लॉट बनाएं
इस पाठ फ़ोल्डर के मूल में `नोटबुक.आईपीएनबी` फ़ाइल खोलें और एक सेल जोड़ें।
> नोट: डेटा इस रेपो की जड़ में `/आंकड़े` फ़ोल्डर में संग्रहीत है।
```python
import pandas as pd
import matplotlib.pyplot as plt
birds = pd.read_csv('../../data/birds.csv')
birds.head()
```
यह डेटा टेक्स्ट और संख्याओं का मिश्रण है:
| | नाम | वैज्ञानिक नाम | श्रेणी | आदेश | परिवार | जाति | संरक्षण की स्थिति | न्यूनतम लंबाई | अधिकतम लंबाई | मिनबॉडीमास | मैक्सबॉडीमास | मिनविंगस्पैन | मैक्सविंगस्पैन |
| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
| 0 | ब्लैक-बेल्ड सीटी-बतख | डेंड्रोसाइग्ना ऑटमलिस | बतख / गीज़ / जलपक्षी | अंसेरी फॉर्म्स | अनाटिडे | डेंड्रोसाइग्ना | एल सी | 47 | 56 | 652 | 1020 | 76 | 94 |
| 1 | फुल्वस सीटी-बतख | डेंड्रोसाइग्ना बाइकलर | बतख / गीज़ / जलपक्षी | अंसेरी फॉर्म्स | अनाटिडे | डेंड्रोसाइग्ना | एल सी | 45 | 53 | 712 | 1050 | 85 | 93 |
| 2 | हिम हंस | Anser caerulescens | बतख / गीज़ / जलपक्षी | अंसेरी फॉर्म्स | अनाटिडे | Anser | एल सी | 64 | 79 | 2050 | 4050 | 135 | 165 |
| 3 | रॉस हंस | Anser rossii | बतख / गीज़ / जलपक्षी | अंसेरी फॉर्म्स | अनाटिडे | Anser | एल सी | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
| 4 | ग्रेटर व्हाइट-फ्रंटेड गूज | Anser albifrons | बतख / गीज़ / जलपक्षी | अंसेरी फॉर्म्स | अनाटिडे | Anser | एल सी | 64 | 81 | 1930 | 3310 | 130 | 165 |
आइए बुनियादी लाइन प्लॉट का उपयोग करके कुछ संख्यात्मक डेटा को प्लॉट करके शुरू करें। मान लीजिए आप इन दिलचस्प पक्षियों के लिए अधिकतम पंखों का दृश्य चाहते हैं।
```python
wingspan = birds['MaxWingspan']
wingspan.plot()
```
![मैक्स विंगस्पैन](images/max-wingspan.png)
आप तुरंत क्या नोटिस करते हैं? ऐसा लगता है कि कम से कम एक बाहरी है - वह काफी पंख है! एक २३०० सेंटीमीटर पंखों का फैलाव २३ मीटर के बराबर होता है - क्या मिनेसोटा में पटरोडैक्टाइल घूम रहे हैं? आइए जांच करते हैं।
जबकि आप उन आउटलेर्स को खोजने के लिए एक्सेल में एक त्वरित सॉर्ट कर सकते हैं, जो शायद टाइपो हैं, प्लॉट के भीतर से काम करके विज़ुअलाइज़ेशन प्रक्रिया जारी रखें।
प्रश्न में किस प्रकार के पक्षी हैं, यह दिखाने के लिए x-अक्ष में लेबल जोड़ें:
```
plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.xlabel('Birds')
plt.xticks(rotation=45)
x = birds['Name']
y = birds['MaxWingspan']
plt.plot(x, y)
plt.show()
```
![लेबल के साथ विंगस्पैन](images/max-wingspan-labels.png)
यहां तक ​​कि लेबल के रोटेशन को 45 डिग्री पर सेट करने के बाद भी, पढ़ने के लिए बहुत कुछ है। आइए एक अलग रणनीति का प्रयास करें: केवल उन आउटलेर्स को लेबल करें और चार्ट के भीतर लेबल सेट करें। लेबलिंग के लिए अधिक जगह बनाने के लिए आप स्कैटर चार्ट का उपयोग कर सकते हैं:
```python
plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
for i in range(len(birds)):
x = birds['Name'][i]
y = birds['MaxWingspan'][i]
plt.plot(x, y, 'bo')
if birds['MaxWingspan'][i] > 500:
plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
plt.show()
```
यहाँ क्या चल रहा है? आपने निचले लेबल को छिपाने के लिए `tick_params` का उपयोग किया और फिर अपने पक्षियों के डेटासेट पर एक लूप बनाया। 'बो' का उपयोग करके छोटे गोल नीले डॉट्स वाले चार्ट को प्लॉट करते हुए, आपने 500 से अधिक पंखों वाले किसी भी पक्षी की जाँच की और यदि ऐसा है तो डॉट के बगल में उनका लेबल प्रदर्शित किया। आप y अक्ष (`वाई * (1 - 0.05)`) पर लेबल को थोड़ा सा ऑफसेट करते हैं और एक लेबल के रूप में पक्षी के नाम का उपयोग करते हैं।
आपने क्या खोजा?
![बाहरी कारकों के कारण](images/labeled-wingspan.png)
## अपना डेटा फ़िल्टर करें
बाल्ड ईगल और प्रेयरी फाल्कन दोनों, जबकि शायद बहुत बड़े पक्षी, गलत लेबल वाले प्रतीत होते हैं, उनके अधिकतम पंखों में अतिरिक्त `0` जोड़ा जाता है। यह संभावना नहीं है कि आप 25 मीटर पंखों वाले बाल्ड ईगल से मिलेंगे, लेकिन यदि ऐसा है, तो कृपया हमें बताएं! आइए उन दो आउटलेर्स के बिना एक नया डेटाफ़्रेम बनाएं:
```python
plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.xlabel('Birds')
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
for i in range(len(birds)):
x = birds['Name'][i]
y = birds['MaxWingspan'][i]
if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
plt.plot(x, y, 'bo')
plt.show()
```
आउटलेर्स को फ़िल्टर करके, आपका डेटा अब अधिक सुसंगत और समझने योग्य है।
![पंखों का बिखराव](images/scatterplot-wingspan.png)
अब जबकि हमारे पास कम से कम पंखों के मामले में एक क्लीनर डेटासेट है, तो आइए इन पक्षियों के बारे में और जानें।
जबकि लाइन और स्कैटर प्लॉट डेटा मानों और उनके वितरण के बारे में जानकारी प्रदर्शित कर सकते हैं, हम इस डेटासेट में निहित मूल्यों के बारे में सोचना चाहते हैं। आप मात्रा के बारे में निम्नलिखित प्रश्नों के उत्तर देने के लिए विज़ुअलाइज़ेशन बना सकते हैं:
> पक्षियों की कितनी श्रेणियां हैं और उनकी संख्या क्या है?
> कितने पक्षी विलुप्त, संकटग्रस्त, दुर्लभ या सामान्य हैं?
> लिनिअस की शब्दावली में विभिन्न जीनस और आदेश कितने हैं?
## बार चार्ट का अन्वेषण करें
बार चार्ट व्यावहारिक होते हैं जब आपको डेटा के समूह दिखाने की आवश्यकता होती है। आइए इस डेटासेट में मौजूद पक्षियों की श्रेणियों का पता लगाएं, यह देखने के लिए कि संख्या के हिसाब से कौन सा सबसे आम है।
नोटबुक फ़ाइल में, एक मूल बार चार्ट बनाएं
✅ ध्यान दें, आप या तो पिछले अनुभाग में पहचाने गए दो बाहरी पक्षियों को फ़िल्टर कर सकते हैं, उनके पंखों में टाइपो को संपादित कर सकते हैं, या उन्हें इन अभ्यासों के लिए छोड़ सकते हैं जो पंखों के मूल्यों पर निर्भर नहीं करते हैं।
यदि आप एक बार चार्ट बनाना चाहते हैं, तो आप उस डेटा का चयन कर सकते हैं जिस पर आप ध्यान केंद्रित करना चाहते हैं। कच्चे डेटा से बार चार्ट बनाए जा सकते हैं:
```python
birds.plot(x='Category',
kind='bar',
stacked=True,
title='Birds of Minnesota')
```
![बार चार्ट के रूप में पूर्ण डेटा](images/full-data-bar.png)
हालांकि, यह बार चार्ट अपठनीय है क्योंकि इसमें बहुत अधिक गैर-समूहीकृत डेटा है। आपको केवल उस डेटा का चयन करने की आवश्यकता है जिसे आप प्लॉट करना चाहते हैं, तो आइए उनकी श्रेणी के आधार पर पक्षियों की लंबाई देखें।
केवल पक्षी की श्रेणी को शामिल करने के लिए अपना डेटा फ़िल्टर करें।
✅ ध्यान दें कि आप डेटा को प्रबंधित करने के लिए पंडों का उपयोग करते हैं, और फिर माटप्लोटलिब को चार्टिंग करने दें।
चूंकि कई श्रेणियां हैं, आप इस चार्ट को लंबवत रूप से प्रदर्शित कर सकते हैं और सभी डेटा के हिसाब से इसकी ऊंचाई को बदल सकते हैं:
```python
category_count = birds.value_counts(birds['Category'].values, sort=True)
plt.rcParams['figure.figsize'] = [6, 12]
category_count.plot.barh()
```
![श्रेणी और लंबाई](images/category-counts.png)
यह बार चार्ट प्रत्येक श्रेणी में पक्षियों की संख्या का एक अच्छा दृश्य दिखाता है। पलक झपकते ही, आप देखते हैं कि इस क्षेत्र में पक्षियों की सबसे बड़ी संख्या बतख/गीज़/जलपक्षी श्रेणी में है। मिनेसोटा '10,000 झीलों की भूमि' है इसलिए यह आश्चर्य की बात नहीं है!
✅ इस डेटासेट पर कुछ और मायने रखने की कोशिश करें। क्या आपको कुछ आश्चर्य होता है?
## डेटा की तुलना करना
आप नए अक्ष बनाकर समूहीकृत डेटा की विभिन्न तुलनाओं को आज़मा सकते हैं। किसी पक्षी की श्रेणी के आधार पर उसकी अधिकतम लंबाई की तुलना करने का प्रयास करें:
```python
maxlength = birds['MaxLength']
plt.barh(y=birds['Category'], width=maxlength)
plt.rcParams['figure.figsize'] = [6, 12]
plt.show()
```
![डेटा की तुलना करना](images/category-length.png)
यहां कुछ भी आश्चर्य की बात नहीं है: हमिंगबर्ड में पेलिकन या गीज़ की तुलना में कम से कम अधिकतम लंबाई होती है। यह अच्छा है जब डेटा तार्किक समझ में आता है!
आप डेटा को सुपरइम्पोज़ करके बार चार्ट के अधिक दिलचस्प विज़ुअलाइज़ेशन बना सकते हैं। आइए किसी दी गई पक्षी श्रेणी पर न्यूनतम और अधिकतम लंबाई को सुपरइम्पोज़ करें:
```python
minLength = birds['MinLength']
maxLength = birds['MaxLength']
category = birds['Category']
plt.barh(category, maxLength)
plt.barh(category, minLength)
plt.show()
```
इस प्लॉट में आप न्यूनतम लंबाई और अधिकतम लंबाई की प्रति पक्षी श्रेणी की सीमा देख सकते हैं। आप सुरक्षित रूप से कह सकते हैं कि, इस डेटा को देखते हुए, पक्षी जितना बड़ा होगा, उसकी लंबाई सीमा उतनी ही बड़ी होगी। चित्ताकर्षक!
![superimposed values](images/superimposed.png)
## 🚀 चुनौती
यह पक्षी डेटासेट एक विशेष पारिस्थितिकी तंत्र के भीतर विभिन्न प्रकार के पक्षियों के बारे में जानकारी का खजाना प्रदान करता है। इंटरनेट के चारों ओर खोजें और देखें कि क्या आप अन्य पक्षी-उन्मुख डेटासेट पा सकते हैं। उन तथ्यों की खोज करने के लिए इन पक्षियों के चारों ओर चार्ट और ग्राफ़ बनाने का अभ्यास करें जिन्हें आपने महसूस नहीं किया है।
## [व्याख्यान के बाद प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/17)
## समीक्षा और स्व अध्ययन
इस पहले पाठ ने आपको मात्राओं की कल्पना करने के लिए Matplotlib का उपयोग करने के तरीके के बारे में कुछ जानकारी दी है। विज़ुअलाइज़ेशन के लिए डेटासेट के साथ काम करने के अन्य तरीकों के बारे में कुछ शोध करें। [प्लॉटली](https://github.com/plotly/plotly.py) प्वह है जिसे हम इन पाठों में शामिल नहीं करेंगे, इसलिए देखें कि यह क्या पेशकश कर सकता है।
## कार्यभार
[लाइन्स, स्कैटर, और बार्स](assignment.md)

@ -0,0 +1,191 @@
# विज़ुअलाइज़िंग वितरण
|![ सकेटच्नोते करने वाला [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/10-Visualizing-Distributions.png)|
|:---:|
| विज़ुअलाइज़िंग वितरण - _सकेटच्नोते करने वाला [@nitya](https://twitter.com/nitya)_ |
In the previous lesson, you learned some interesting facts about a dataset about the birds of Minnesota. You found some erroneous data by visualizing outliers and looked at the differences between bird categories by their maximum length.
## [प्री-लेक्चर क्विज](https://red-water-0103e7a0f.azurestaticapps.net/quiz/18)
## पक्षियों के डेटासेट का अन्वेषण करें
डेटा में खुदाई करने का दूसरा तरीका इसके वितरण को देखना है, या डेटा को एक अक्ष के साथ कैसे व्यवस्थित किया जाता है। शायद, उदाहरण के लिए, आप इस डेटासेट के सामान्य वितरण के बारे में जानना चाहेंगे, मिनेसोटा के पक्षियों के लिए अधिकतम पंख या अधिकतम शरीर द्रव्यमान।
आइए इस डेटासेट में डेटा के वितरण के बारे में कुछ तथ्यों की खोज करें। इस पाठ फ़ोल्डर के मूल में _नोटबुक.आईपीएनबी_ फ़ाइल में, पांडा, मैटप्लोटलिब और अपना डेटा आयात करें:
```python
import pandas as pd
import matplotlib.pyplot as plt
birds = pd.read_csv('../../data/birds.csv')
birds.head()
```
सामान्य तौर पर, आप देख सकते हैं कि स्कैटर प्लॉट का उपयोग करके डेटा कैसे वितरित किया जाता है, जैसा कि हमने पिछले पाठ में किया था:
```python
birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
plt.title('Max Length per Order')
plt.ylabel('Order')
plt.xlabel('Max Length')
plt.show()
```
यह प्रति पक्षी क्रम में शरीर की लंबाई के सामान्य वितरण का एक सिंहावलोकन देता है, लेकिन यह सही वितरण प्रदर्शित करने का सबसे अच्छा तरीका नहीं है। उस कार्य को आमतौर पर हिस्टोग्राम बनाकर नियंत्रित किया जाता है।
## हिस्टोग्राम के साथ काम करना
माटप्लोटलिब हिस्टोग्राम का उपयोग करके डेटा वितरण की कल्पना करने के लिए बहुत अच्छे तरीके प्रदान करता है। इस प्रकार का चार्ट एक बार चार्ट की तरह होता है जहां वितरण को बार के ऊपर और नीचे के माध्यम से देखा जा सकता है। हिस्टोग्राम बनाने के लिए, आपको संख्यात्मक डेटा की आवश्यकता होती है। हिस्टोग्राम बनाने के लिए, आप हिस्टोग्राम के लिए 'इतिहास' के रूप में परिभाषित एक चार्ट तैयार कर सकते हैं। यह चार्ट संख्यात्मक डेटा की संपूर्ण डेटासेट की श्रेणी के लिए MaxBodyMass के वितरण को दर्शाता है। डेटा की सरणी को विभाजित करके इसे छोटे डिब्बे में दिया जाता है, यह डेटा के मूल्यों के वितरण को प्रदर्शित कर सकता है:
```python
birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
plt.show()
```
![संपूर्ण डेटासेट पर वितरण](images/dist1.png)
जैसा कि आप देख सकते हैं, इस डेटासेट में 400+ पक्षी अपने मैक्स बॉडी मास के लिए 2000 से कम की सीमा में आते हैं। `बिन्स` पैरामीटर को अधिक संख्या में बदलकर डेटा में अधिक जानकारी प्राप्त करें, जैसे कुछ 30:
```python
birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
plt.show()
```
![बड़े डिब्बे परम के साथ संपूर्ण डेटासेट पर वितरण](images/dist2.png)
यह चार्ट वितरण को कुछ अधिक बारीक तरीके से दिखाता है। यह सुनिश्चित करके कि आप केवल एक दी गई सीमा के भीतर डेटा का चयन करते हैं, बाईं ओर कम तिरछा एक चार्ट बनाया जा सकता है:
केवल उन पक्षियों को प्राप्त करने के लिए अपना डेटा फ़िल्टर करें जिनके शरीर का द्रव्यमान 60 से कम है, और 40 `डिब्बे` दिखाएं:
```python
filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
plt.show()
```
![फ़िल्टर्ड हिस्टोग्राम](images/dist3.png)
✅ कुछ अन्य फ़िल्टर और डेटा बिंदु आज़माएं। डेटा का पूरा वितरण देखने के लिए, लेबल किए गए वितरण दिखाने के लिए `['मैक्सबॉडीमास']` फ़िल्टर को हटा दें।
हिस्टोग्राम भी कोशिश करने के लिए कुछ अच्छे रंग और लेबलिंग संवर्द्धन प्रदान करता है:
दो वितरणों के बीच संबंध की तुलना करने के लिए एक 2डी हिस्टोग्राम बनाएं। आइए `मैक्सबॉडीमास` बनाम `अधिकतम लंबाई` की तुलना करें। माटप्लोटलिब चमकीले रंगों का उपयोग करके अभिसरण दिखाने के लिए एक अंतर्निहित तरीका प्रदान करता है:
```python
x = filteredBirds['MaxBodyMass']
y = filteredBirds['MaxLength']
fig, ax = plt.subplots(tight_layout=True)
hist = ax.hist2d(x, y)
```
एक विशेष रूप से मजबूत अभिसरण बिंदु के साथ, एक अपेक्षित अक्ष के साथ इन दो तत्वों के बीच एक अपेक्षित सहसंबंध प्रतीत होता है:
![2डी प्लॉट](images/2D.png)
संख्यात्मक डेटा के लिए हिस्टोग्राम डिफ़ॉल्ट रूप से अच्छी तरह से काम करते हैं। क्या होगा यदि आपको टेक्स्ट डेटा के अनुसार वितरण देखने की आवश्यकता है?
## टेक्स्ट डेटा का उपयोग करके वितरण के लिए डेटासेट का अन्वेषण करें
इस डेटासेट में पक्षी श्रेणी और उसके जीनस, प्रजातियों और परिवार के साथ-साथ इसके संरक्षण की स्थिति के बारे में अच्छी जानकारी भी शामिल है। आइए इस संरक्षण जानकारी में खुदाई करें। पक्षियों का वितरण उनकी संरक्षण स्थिति के अनुसार क्या है?
> ✅ डेटासेट में, संरक्षण की स्थिति का वर्णन करने के लिए कई समरूपों का उपयोग किया जाता है। ये एक्रोनिम्स [IUCN रेड लिस्ट कैटेगरी](https://www.iucnredlist.org/) से आते हैं, जो एक संगठन है जो प्रजातियों की स्थिति को सूचीबद्ध करता है।
>
> - सीआर: गंभीर रूप से संकटग्रस्त
> - एन: लुप्तप्राय
> - पूर्व: विलुप्त
> - एलसी: कम से कम चिंता
> - एनटी: खतरे के पास
> - वीयू: कमजोर
ये टेक्स्ट-आधारित मान हैं इसलिए आपको हिस्टोग्राम बनाने के लिए एक ट्रांसफ़ॉर्म करना होगा। फ़िल्टर्ड बर्ड्स डेटाफ़्रेम का उपयोग करते हुए, इसके न्यूनतम विंगस्पैन के साथ-साथ इसकी संरक्षण स्थिति प्रदर्शित करें। क्या देखती है?
```python
x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
kwargs = dict(alpha=0.5, bins=20)
plt.hist(x1, **kwargs, color='red', label='Extinct')
plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
plt.hist(x3, **kwargs, color='yellow', label='Endangered')
plt.hist(x4, **kwargs, color='green', label='Near Threatened')
plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
plt.hist(x6, **kwargs, color='gray', label='Least Concern')
plt.gca().set(title='Conservation Status', ylabel='Max Body Mass')
plt.legend();
```
![विंगस्पैन और संरक्षण संयोजन](images/histogram-conservation.png)
न्यूनतम पंखों की अवधि और संरक्षण की स्थिति के बीच कोई अच्छा संबंध प्रतीत नहीं होता है। इस पद्धति का उपयोग करके डेटासेट के अन्य तत्वों का परीक्षण करें। आप अलग-अलग फ़िल्टर भी आज़मा सकते हैं। क्या आप कोई सहसंबंध पाते हैं?
## घनत्व भूखंड
आपने देखा होगा कि अब तक हमने जिन आयतचित्रों को देखा है वे 'चरणबद्ध' हैं और एक चाप में सुचारू रूप से प्रवाहित नहीं होते हैं। एक आसान घनत्व चार्ट दिखाने के लिए, आप एक घनत्व प्लॉट आज़मा सकते हैं।
घनत्व वाले भूखंडों के साथ काम करने के लिए, अपने आप को एक नई प्लॉटिंग लाइब्रेरी से परिचित कराएं, [सीबॉर्न](https://seaborn.pydata.org/generated/seaborn.kdeplot.html).
सीबॉर्न लोड हो रहा है, एक बुनियादी घनत्व प्लॉट आज़माएं:
```python
import seaborn as sns
import matplotlib.pyplot as plt
sns.kdeplot(filteredBirds['MinWingspan'])
plt.show()
```
![घनत्व प्लॉट](images/density1.png)
आप देख सकते हैं कि न्यूनतम विंगस्पैन डेटा के लिए प्लॉट पिछले वाले को कैसे गूँजता है; यह थोड़ा चिकना है। सीबॉर्न के दस्तावेज़ीकरण के अनुसार, "हिस्टोग्राम के सापेक्ष, केडीई एक ऐसे प्लॉट का निर्माण कर सकता है जो कम अव्यवस्थित और अधिक व्याख्या योग्य हो, विशेष रूप से कई वितरणों को चित्रित करते समय। लेकिन इसमें विकृतियों को पेश करने की क्षमता होती है यदि अंतर्निहित वितरण बाध्य है या सुचारू नहीं है। जैसे हिस्टोग्राम, प्रतिनिधित्व की गुणवत्ता भी अच्छे चौरसाई मापदंडों के चयन पर निर्भर करती है।" [स्रोत](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) दूसरे शब्दों में, आउटलेयर हमेशा की तरह आपके चार्ट को खराब व्यवहार करेंगे।
यदि आप अपने द्वारा बनाए गए दूसरे चार्ट में उस दांतेदार मैक्सबॉडीमास लाइन को फिर से देखना चाहते हैं, तो आप इस पद्धति का उपयोग करके इसे फिर से बनाकर इसे बहुत अच्छी तरह से सुचारू कर सकते हैं:
```python
sns.kdeplot(filteredBirds['MaxBodyMass'])
plt.show()
```
![चिकनी बॉडीमास लाइन](images/density2.png)
यदि आप एक चिकनी, लेकिन बहुत चिकनी रेखा नहीं चाहते हैं, तो `bw_adjust` पैरामीटर संपादित करें:
```python
sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
plt.show()
```
![कम चिकनी बॉडीमास लाइन](images/density3.png)
✅ इस प्रकार के प्लॉट और प्रयोग के लिए उपलब्ध मापदंडों के बारे में पढ़ें!
इस प्रकार का चार्ट खूबसूरती से व्याख्यात्मक दृश्य प्रस्तुत करता है। कोड की कुछ पंक्तियों के साथ, उदाहरण के लिए, आप प्रति पक्षी अधिकतम शरीर द्रव्यमान घनत्व दिखा सकते हैं:
```python
sns.kdeplot(
data=filteredBirds, x="MaxBodyMass", hue="Order",
fill=True, common_norm=False, palette="crest",
alpha=.5, linewidth=0,
)
```
![प्रति आदेश बॉडीमास](images/density4.png)
आप एक चार्ट में कई चरों के घनत्व को भी मैप कर सकते हैं। किसी पक्षी की संरक्षण स्थिति की तुलना में उसकी अधिकतम लंबाई और न्यूनतम लंबाई को टेक्स्ट करें:
```python
sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
```
![एकाधिक घनत्व, आरोपित](images/multi.png)
शायद यह शोध करने लायक है कि 'कमजोर' पक्षियों का समूह उनकी लंबाई के अनुसार सार्थक है या नहीं।
## 🚀 चुनौती
हिस्टोग्राम बुनियादी स्कैटरप्लॉट, बार चार्ट या लाइन चार्ट की तुलना में अधिक परिष्कृत प्रकार के चार्ट हैं। हिस्टोग्राम के उपयोग के अच्छे उदाहरण खोजने के लिए इंटरनेट पर खोज करें। उनका उपयोग कैसे किया जाता है, वे क्या प्रदर्शित करते हैं, और किन क्षेत्रों या पूछताछ के क्षेत्रों में उनका उपयोग किया जाता है?
## [व्याख्यान के बाद प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/19)
## समीक्षा और स्व अध्ययन
इस पाठ में, आपने Matplotlib का उपयोग किया और अधिक परिष्कृत चार्ट दिखाने के लिए Seaborn के साथ काम करना शुरू किया। सीबॉर्न में `केडीप्लॉट` पर कुछ शोध करें, "एक या अधिक आयामों में निरंतर संभाव्यता घनत्व वक्र"। यह कैसे काम करता है, यह समझने के लिए [दस्तावेज](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) पढ़ें।
## कार्यभार
[अपने कौशल को लागू करें](assignment.md)

@ -0,0 +1,184 @@
# विज़ुअलाइज़िंग अनुपात
|![ सकेटच्नोते करने वाला [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/11-Visualizing-Proportions.png)|
|:---:|
|विज़ुअलाइज़िंग अनुपात - _सकेटच्नोते करने वाला [@nitya](https://twitter.com/nitya)_ |
इस पाठ में, आप अनुपात की कल्पना करने के लिए एक अलग प्रकृति-केंद्रित डेटासेट का उपयोग करेंगे, जैसे कि मशरूम के बारे में दिए गए डेटासेट में कितने अलग-अलग प्रकार के कवक आते हैं। आइए ऑडबोन सूची से प्राप्त डेटासेट का उपयोग करके इन आकर्षक कवक का पता लगाएं, एग्रिकस और लेपियोटा परिवारों में ग्रील्ड मशरूम की 23 प्रजातियों के बारे में विवरण। आप स्वादिष्ट विज़ुअलाइज़ेशन के साथ प्रयोग करेंगे जैसे:
- पाई चार्ट 🥧
- डोनट चार्ट 🍩
- वफ़ल चार्ट 🧇
> 💡 माइक्रोसॉफ्ट अनुसंधान द्वारा [चार्टिकुलेटर](https://charticulator.com) नामक एक बहुत ही रोचक परियोजना डेटा विज़ुअलाइज़ेशन के लिए एक निःशुल्क ड्रैग एंड ड्रॉप इंटरफ़ेस प्रदान करती है। अपने एक ट्यूटोरियल में वे इस मशरूम डेटासेट का भी उपयोग करते हैं! तो आप एक ही समय में डेटा का पता लगा सकते हैं और पुस्तकालय सीख सकते हैं: [चार्टिकुलेटर ट्यूटोरियल](https://charticulator.com/tutorials/tutorial4.html)।
## [प्री-लेक्चर क्विज](https://red-water-0103e7a0f.azurestaticapps.net/quiz/20)
## अपने मशरूम को जानें 🍄
मशरूम बहुत दिलचस्प हैं। आइए उनका अध्ययन करने के लिए एक डेटासेट आयात करें:
```python
import pandas as pd
import matplotlib.pyplot as plt
mushrooms = pd.read_csv('../../data/mushrooms.csv')
mushrooms.head()
```
विश्लेषण के लिए कुछ महान डेटा के साथ एक तालिका मुद्रित की जाती है:
| class | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | stalk-root | stalk-surface-above-ring | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
| Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
| Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
| Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
| Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
तुरंत, आप देखते हैं कि सभी डेटा टेक्स्टुअल है। चार्ट में इसका उपयोग करने में सक्षम होने के लिए आपको इस डेटा को परिवर्तित करना होगा। अधिकांश डेटा, वास्तव में, एक वस्तु के रूप में दर्शाया जाता है:
```python
print(mushrooms.select_dtypes(["object"]).columns)
```
आउटपुट है:
```output
Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
'stalk-surface-below-ring', 'stalk-color-above-ring',
'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
'ring-type', 'spore-print-color', 'population', 'habitat'],
dtype='object')
```
यह डेटा लें और 'वर्ग' कॉलम को एक श्रेणी में बदलें:
```python
cols = mushrooms.select_dtypes(["object"]).columns
mushrooms[cols] = mushrooms[cols].astype('category')
```
अब, यदि आप मशरूम डेटा का प्रिंट आउट लेते हैं, तो आप देख सकते हैं कि इसे जहरीले/खाद्य वर्ग के अनुसार श्रेणियों में बांटा गया है:
| | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | ... | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
| --------- | --------- | ----------- | --------- | ------- | ---- | --------------- | ------------ | --------- | ---------- | ----------- | --- | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
| class | | | | | | | | | | | | | | | | | | | | | |
| Edible | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
| Poisonous | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
यदि आप अपने वर्ग श्रेणी लेबल बनाने के लिए इस तालिका में प्रस्तुत क्रम का पालन करते हैं, तो आप एक पाई चार्ट बना सकते हैं:
## Pie!
```python
labels=['Edible','Poisonous']
plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
plt.title('Edible?')
plt.show()
```
वोइला, मशरूम के इन दो वर्गों के अनुसार इस डेटा के अनुपात को दर्शाने वाला एक पाई चार्ट। लेबल के क्रम को सही करना बहुत महत्वपूर्ण है, विशेष रूप से यहां, इसलिए उस क्रम को सत्यापित करना सुनिश्चित करें जिसके साथ लेबल सरणी बनाई गई है!
![पाई चार्ट](images/pie1.png)
## डोनट्स!
कुछ अधिक नेत्रहीन दिलचस्प पाई चार्ट एक डोनट चार्ट है, जो बीच में एक छेद के साथ एक पाई चार्ट है। आइए इस पद्धति का उपयोग करके हमारे डेटा को देखें।
विभिन्न आवासों पर एक नज़र डालें जहाँ मशरूम उगते हैं:
```python
habitat=mushrooms.groupby(['habitat']).count()
habitat
```
यहां, आप अपने डेटा को आवास के आधार पर समूहित कर रहे हैं। 7 सूचीबद्ध हैं, इसलिए उन्हें अपने डोनट चार्ट के लिए लेबल के रूप में उपयोग करें:
```python
labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
plt.pie(habitat['class'], labels=labels,
autopct='%1.1f%%', pctdistance=0.85)
center_circle = plt.Circle((0, 0), 0.40, fc='white')
fig = plt.gcf()
fig.gca().add_artist(center_circle)
plt.title('Mushroom Habitats')
plt.show()
```
![डोनट चार्ट](images/donut.png)
यह कोड एक चार्ट और एक केंद्र वृत्त बनाता है, फिर उस केंद्र वृत्त को चार्ट में जोड़ता है। `0.40` को दूसरे मान में बदलकर केंद्र वृत्त की चौड़ाई संपादित करें।
डोनट चार्ट को लेबल बदलने के लिए कई तरह से ट्वीक किया जा सकता है। विशेष रूप से लेबल को पठनीयता के लिए हाइलाइट किया जा सकता है। [दस्तावेज़] (https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut) में और जानें।
अब जबकि आप जानते हैं कि अपने डेटा को कैसे समूहबद्ध करना है और फिर उसे पाई या डोनट के रूप में प्रदर्शित करना है, तो आप अन्य प्रकार के चार्टों को एक्सप्लोर कर सकते हैं। एक वफ़ल चार्ट आज़माएं, जो मात्रा की खोज का एक अलग तरीका है।
## Waffles!
एक 'वफ़ल' प्रकार का चार्ट मात्राओं को वर्गों के 2डी सरणी के रूप में देखने का एक अलग तरीका है। इस डेटासेट में मशरूम कैप रंगों की विभिन्न मात्राओं को देखने का प्रयास करें। ऐसा करने के लिए, आपको [PyWaffle](https://pypi.org/project/pywaffle/) नामक एक सहायक पुस्तकालय स्थापित करने और Matplotlib का उपयोग करने की आवश्यकता है:
```python
pip install pywaffle
```
समूह के लिए अपने डेटा का एक खंड चुनें:
```python
capcolor=mushrooms.groupby(['cap-color']).count()
capcolor
```
लेबल बनाकर और फिर अपने डेटा को समूहीकृत करके एक वफ़ल चार्ट बनाएं:
```python
import pandas as pd
import matplotlib.pyplot as plt
from pywaffle import Waffle
data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
'amount': capcolor['class']
}
df = pd.DataFrame(data)
fig = plt.figure(
FigureClass = Waffle,
rows = 100,
values = df.amount,
labels = list(df.color),
figsize = (30,30),
colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
)
```
वफ़ल चार्ट का उपयोग करके, आप स्पष्ट रूप से इस मशरूम डेटासेट के कैप रंगों के अनुपात को देख सकते हैं। दिलचस्प बात यह है कि कई हरे-छिपे हुए मशरूम हैं!
![वफ़ल चार्ट](images/waffle.png)
✅ Pywaffle उन चार्ट के भीतर आइकन का समर्थन करता है जो [Font Awesome](https://fontawesome.com/) में उपलब्ध किसी भी आइकन का उपयोग करते हैं। वर्गों के बजाय आइकन का उपयोग करके और भी अधिक रोचक वफ़ल चार्ट बनाने के लिए कुछ प्रयोग करें।
इस पाठ में, आपने अनुपातों की कल्पना करने के तीन तरीके सीखे। सबसे पहले, आपको अपने डेटा को श्रेणियों में समूहित करना होगा और फिर यह तय करना होगा कि डेटा प्रदर्शित करने का सबसे अच्छा तरीका कौन सा है - पाई, डोनट, या वफ़ल। सभी स्वादिष्ट हैं और डेटासेट के तत्काल स्नैपशॉट के साथ उपयोगकर्ता को संतुष्ट करते हैं।
## 🚀 चुनौती
इन स्वादिष्ट चार्ट को फिर से बनाने का प्रयास करें [चार्टिकुलेटर](https://charticulator.com).
## [व्याख्यान के बाद प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/21)
## समीक्षा और आत्म अध्ययन
कभी-कभी यह स्पष्ट नहीं होता कि पाई, डोनट, या वफ़ल चार्ट का उपयोग कब करना है। इस विषय पर पढ़ने के लिए यहां कुछ लेख दिए गए हैं:
https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
इस चिपचिपे निर्णय के बारे में अधिक जानकारी प्राप्त करने के लिए कुछ शोध करें।
## कार्यभार
[इसे एक्सेल में आज़माएं](assignment.md)

@ -0,0 +1,173 @@
# रिश्तों की कल्पना: शहद के बारे में सब कुछ
|![ सकेटच्नोते करने वाला [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/12-Visualizing-Relationships.png)|
|:---:|
|रिश्तों की कल्पना - _सकेटच्नोते करने वाला [@nitya](https://twitter.com/nitya)_ |
[यूनाइटेड स्टेट्स डिपार्टमेंट ऑफ़ एग्रीकल्चर](https://www.nass.usda.gov/) से प्राप्त एक डेटासेट के अनुसार, अपने शोध के प्रकृति फ़ोकस को जारी रखते हुए, आइए विभिन्न प्रकार के शहद के बीच संबंधों को दिखाने के लिए दिलचस्प विज़ुअलाइज़ेशन खोजें। लगभग_NASS/index.php)।
लगभग ६०० वस्तुओं का यह डेटासेट कई यू.एस. राज्यों में शहद उत्पादन को प्रदर्शित करता है। इसलिए, उदाहरण के लिए, आप प्रत्येक राज्य के लिए प्रति वर्ष एक पंक्ति के साथ, 1998-2012 से किसी दिए गए राज्य में उत्पादित कॉलोनियों की संख्या, प्रति कॉलोनी उपज, कुल उत्पादन, स्टॉक, मूल्य प्रति पाउंड और शहद का मूल्य देख सकते हैं। .
किसी दिए गए राज्य के प्रति वर्ष उत्पादन और, उदाहरण के लिए, उस राज्य में शहद की कीमत के बीच संबंधों की कल्पना करना दिलचस्प होगा। वैकल्पिक रूप से, आप प्रति कॉलोनी राज्यों की शहद उपज के बीच संबंधों की कल्पना कर सकते हैं। इस वर्ष की अवधि में विनाशकारी 'सीसीडी' या 'कॉलोनी पतन विकार' शामिल है जिसे पहली बार 2006 में देखा गया था (http://npic.orst.edu/envir/ccd.html), इसलिए यह अध्ययन करने के लिए एक मार्मिक डेटासेट है।🐝
## [व्याख्यान पूर्व प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/22)
इस पाठ में, आप सीबॉर्न का उपयोग कर सकते हैं, जिसका उपयोग आपने पहले किया है, चरों के बीच संबंधों की कल्पना करने के लिए एक अच्छे पुस्तकालय के रूप में। सीबॉर्न के `रिलप्लॉट` फ़ंक्शन का उपयोग विशेष रूप से दिलचस्प है जो स्कैटर प्लॉट्स और लाइन प्लॉट्स को जल्दी से '[सांख्यिकीय संबंध](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)' की कल्पना करने की अनुमति देता है, जो डेटा वैज्ञानिक को बेहतर ढंग से समझने की अनुमति दें कि चर एक दूसरे से कैसे संबंधित हैं।
## तितर बितर भूखंडों
यह दिखाने के लिए स्कैटरप्लॉट का उपयोग करें कि प्रति राज्य शहद की कीमत साल दर साल कैसे विकसित हुई है। सीबॉर्न, `रिलप्लॉट` का उपयोग करते हुए, राज्य डेटा को आसानी से समूहित करता है और श्रेणीबद्ध और संख्यात्मक डेटा दोनों के लिए डेटा बिंदु प्रदर्शित करता है।
आइए डेटा और सीबोर्न आयात करके शुरू करें:
```python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
honey = pd.read_csv('../../data/honey.csv')
honey.head()
```
आपने देखा कि शहद के आंकड़ों में कई दिलचस्प कॉलम हैं, जिनमें साल और कीमत प्रति पाउंड शामिल हैं। आइए इस डेटा को यू.एस. राज्य द्वारा समूहीकृत करें:
| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
प्रति पाउंड शहद की कीमत और इसकी यू.एस. मूल स्थिति के बीच संबंध दिखाने के लिए एक बुनियादी स्कैटरप्लॉट बनाएं। सभी राज्यों को प्रदर्शित करने के लिए `y` अक्ष को पर्याप्त लंबा बनाएं:
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
![scatterplot 1](images/scatter1.png)
अब, शहद रंग योजना के साथ समान डेटा दिखाएं ताकि यह दिखाया जा सके कि मूल्य वर्षों में कैसे विकसित होता है। साल दर साल बदलाव दिखाने के लिए आप 'ह्यू' पैरामीटर जोड़कर ऐसा कर सकते हैं:
> ✅ [सीबॉर्न में आपके द्वारा उपयोग किए जा सकने वाले रंग पैलेट](https://seaborn.pydata.org/tutorial/color_palettes.html) के बारे में अधिक जानें - एक सुंदर इंद्रधनुष रंग योजना आज़माएं!
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
![स्कैटरप्लॉट 2](images/scatter2.png)
इस रंग योजना में बदलाव के साथ, आप देख सकते हैं कि शहद की कीमत प्रति पाउंड के मामले में पिछले कुछ वर्षों में स्पष्ट रूप से एक मजबूत प्रगति हुई है। वास्तव में, यदि आप सत्यापित करने के लिए डेटा में सेट किए गए नमूने को देखते हैं (उदाहरण के लिए किसी दिए गए राज्य, एरिज़ोना को चुनें) तो आप कुछ अपवादों के साथ, साल दर साल मूल्य वृद्धि का एक पैटर्न देख सकते हैं:
| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
इस प्रगति की कल्पना करने का दूसरा तरीका रंग के बजाय आकार का उपयोग करना है। कलरब्लाइंड यूजर्स के लिए यह एक बेहतर विकल्प हो सकता है। डॉट परिधि में वृद्धि करके मूल्य में वृद्धि दिखाने के लिए अपना विज़ुअलाइज़ेशन संपादित करें:
```python
sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
```
आप डॉट्स के आकार को धीरे-धीरे बढ़ते हुए देख सकते हैं।
![स्कैटरप्लॉट 3](images/scatter3.png)
क्या यह आपूर्ति और मांग का एक साधारण मामला है? जलवायु परिवर्तन और कॉलोनी के ढहने जैसे कारकों के कारण, क्या साल दर साल खरीद के लिए कम शहद उपलब्ध है, और इस तरह कीमत बढ़ जाती है?
इस डेटासेट में कुछ चरों के बीच संबंध खोजने के लिए, आइए कुछ लाइन चार्ट देखें।
## लाइन चार्ट
प्रश्‍न : क्‍या शहद की कीमत में प्रति पौंड वर्ष दर वर्ष स्पष्ट वृद्धि हुई है? सिंगल लाइन चार्ट बनाकर आप इसे आसानी से खोज सकते हैं:
```python
sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Aउत्तर: हाँ, वर्ष २००३ के आसपास कुछ अपवादों को छोड़कर:
![लाइन चार्ट 1](इमेज/लाइन1.पीएनजी)
क्योंकि सीबॉर्न एक पंक्ति के आसपास डेटा एकत्र कर रहा है, यह "माध्य की साजिश रचकर प्रत्येक x मान पर कई माप और माध्य के आसपास 95% विश्वास अंतराल" प्रदर्शित करता है। [स्रोत](https://seaborn.pydata.org/tutorial/relational.html)। इस समय लेने वाले व्यवहार को `ci=none` जोड़कर अक्षम किया जा सकता है।
प्रश्न: क्या २००३ में हम शहद की आपूर्ति में भी वृद्धि देख सकते हैं? अगर आप साल दर साल कुल उत्पादन को देखें तो क्या होगा?
```python
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
![लाइन चार्ट 2](इमेज/लाइन2.पीएनजी)
उत्तर: वास्तव में नहीं। यदि आप कुल उत्पादन को देखें, तो वास्तव में उस विशेष वर्ष में वृद्धि हुई प्रतीत होती है, भले ही आम तौर पर इन वर्षों के दौरान उत्पादित होने वाले शहद की मात्रा में गिरावट आई हो।
प्रश्न: उस मामले में, 2003 के आसपास शहद की कीमत में उस उछाल का क्या कारण हो सकता है?
इसे खोजने के लिए, आप एक पहलू ग्रिड का पता लगा सकते हैं।
## पहलू ग्रिड
फ़ैसिट ग्रिड आपके डेटासेट का एक पहलू लेते हैं (हमारे मामले में, आप 'वर्ष' चुन सकते हैं ताकि बहुत अधिक फ़ैसिट उत्पन्न न हों)। सीबॉर्न तब आपके चुने हुए x और y निर्देशांकों में से प्रत्येक के लिए अधिक आसान दृश्य तुलना के लिए एक प्लॉट बना सकता है। क्या 2003 इस प्रकार की तुलना में अलग है?
[सीबॉर्न का दस्तावेज़ीकरण](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid) द्वारा सुझाए गए अनुसार `relplot` का उपयोग जारी रखते हुए एक पहलू ग्रिड बनाएं।
```python
sns.relplot(
data=honey,
x="yieldpercol", y="numcol",
col="year",
col_wrap=3,
kind="line"
```
इस विज़ुअलाइज़ेशन में, आप प्रति कॉलोनी उपज और साल दर साल कॉलोनियों की संख्या की तुलना कॉलम के लिए 3 पर सेट रैप के साथ कर सकते हैं:
![पहलू ग्रिड](छवियां/पहलू.पीएनजी)
इस डेटासेट के लिए, विशेष रूप से कॉलोनियों की संख्या और उनकी उपज, साल दर साल और राज्य दर राज्य के संबंध में कुछ भी नहीं है। क्या इन दो चरों के बीच संबंध खोजने का कोई अलग तरीका है?
## ड्यूल-लाइन प्लॉट्स
एक दूसरे के ऊपर दो लाइनप्लॉट्स को सुपरइम्पोज़ करके, सीबॉर्न की 'डेस्पाइन' का उपयोग करके उनके शीर्ष और दाएं स्पाइन को हटाने के लिए, और उपयोग करके एक मल्टीलाइन प्लॉट आज़माएं`ax.twinx` [Matplotlib . से व्युत्पन्न](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.twinx.html). Twinx चार्ट को x अक्ष साझा करने और दो y अक्ष प्रदर्शित करने की अनुमति देता है। तो, प्रति कॉलोनी उपज और कॉलोनियों की संख्या प्रदर्शित करें, जो आरोपित हैं:
```python
fig, ax = plt.subplots(figsize=(12,6))
lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
label = 'Number of bee colonies', legend=False)
sns.despine()
plt.ylabel('# colonies')
plt.title('Honey Production Year over Year');
ax2 = ax.twinx()
lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
label ='Yield per colony', legend=False)
sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
![सुपरइम्पोज्ड प्लॉट्स](images/dual-line.png)
हालांकि वर्ष 2003 के आस-पास कुछ भी सामने नहीं आया, यह हमें इस पाठ को एक छोटे से सुखद नोट पर समाप्त करने की अनुमति देता है: जबकि कुल मिलाकर कॉलोनियों की संख्या घट रही है, कॉलोनियों की संख्या स्थिर हो रही है, भले ही प्रति कॉलोनी उनकी उपज घट रही हो .
जाओ, मधुमक्खियों, जाओ!
❤️
## चुनौती
इस पाठ में, आपने फैसेट ग्रिड सहित स्कैटरप्लॉट और लाइन ग्रिड के अन्य उपयोगों के बारे में कुछ और सीखा। किसी भिन्न डेटासेट का उपयोग करके फ़ैसिट ग्रिड बनाने के लिए स्वयं को चुनौती दें, शायद एक जिसे आपने इन पाठों से पहले उपयोग किया था। ध्यान दें कि उन्हें बनाने में कितना समय लगता है और इन तकनीकों का उपयोग करके आपको कितने ग्रिड बनाने की आवश्यकता है, इस बारे में आपको सावधान रहने की आवश्यकता है।
## [व्याख्यान के बाद प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/23)
## समीक्षा और आत्म अध्ययन
रेखा भूखंड सरल या काफी जटिल हो सकते हैं। [सीबॉर्न डॉक्युमेंटेशन](https://seaborn.pydata.org/generated/seaborn.lineplot.html) को विभिन्न तरीकों से पढ़कर आप उन्हें बना सकते हैं। डॉक्स में सूचीबद्ध अन्य विधियों के साथ इस पाठ में आपके द्वारा बनाए गए लाइन चार्ट को बढ़ाने का प्रयास करें।
## कार्यभार
[मधुमक्खी के छत्ते में गोता लगाएँ] (असाइनमेंट.एमडी)

@ -0,0 +1,10 @@
# अपना खुद का कस्टम दृश्य बनाएं
## निर्देश
एक सामाजिक नेटवर्क बनाने के लिए इस परियोजना में कोड नमूने का उपयोग करते हुए, अपने स्वयं के सामाजिक इंटरैक्शन के डेटा का मजाक उड़ाएं। आप सोशल मीडिया के अपने उपयोग को मैप कर सकते हैं या अपने परिवार के सदस्यों का आरेख बना सकते हैं। एक दिलचस्प वेब ऐप बनाएं जो सोशल नेटवर्क का एक अनूठा विज़ुअलाइज़ेशन दिखाता है।
## रूब्रिक
अनुकरणीय | पर्याप्त | सुधार की जरूरत
--- | --- | -- |
एक गिटहब रेपो कोड के साथ प्रस्तुत किया जाता है जो ठीक से चलता है (इसे एक स्थिर वेब ऐप के रूप में तैनात करने का प्रयास करें) और परियोजना को समझाते हुए एक एनोटेट रीडमे है | रेपो ठीक से नहीं चलता है या अच्छी तरह से प्रलेखित नहीं है | रेपो ठीक से नहीं चलता है और अच्छी तरह से प्रलेखित नहीं है

@ -0,0 +1,168 @@
# सार्थक विज़ुअलाइज़ेशन बनाना
|![ सकेटच्नोते करने वाला [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/13-MeaningfulViz.png)|
|:---:|
| सार्थक विज़ुअलाइज़ेशन - _सकेटच्नोते करने वाला [@nitya](https://twitter.com/nitya)_ |
> "यदि आप डेटा को काफी देर तक प्रताड़ित करते हैं, तो यह कुछ भी कबूल कर लेगा" - [रोनाल्ड कोसे](https://en.wikiquote.org/wiki/Ronald_Coase)
एक डेटा वैज्ञानिक के बुनियादी कौशल में से एक सार्थक डेटा विज़ुअलाइज़ेशन बनाने की क्षमता है जो आपके सवालों के जवाब देने में मदद करता है। अपने डेटा की कल्पना करने से पहले, आपको यह सुनिश्चित करने की आवश्यकता है कि इसे साफ और तैयार किया गया है, जैसा कि आपने पिछले पाठों में किया था। उसके बाद, आप यह तय करना शुरू कर सकते हैं कि डेटा को सर्वोत्तम तरीके से कैसे प्रस्तुत किया जाए।
इस पाठ में, आप समीक्षा करेंगे:
1. सही चार्ट प्रकार कैसे चुनें
2. भ्रामक चार्टिंग से कैसे बचें
3. रंग के साथ कैसे काम करें
4. पठनीयता के लिए अपने चार्ट को कैसे स्टाइल करें
5. एनिमेटेड या 3डी चार्टिंग समाधान कैसे तैयार करें
6. क्रिएटिव विज़ुअलाइज़ेशन कैसे बनाएं
## [व्याख्यान पूर्व प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/24)
## सही चार्ट प्रकार चुनें
पिछले पाठों में, आपने चार्टिंग के लिए Matplotlib और Seaborn का उपयोग करके सभी प्रकार के दिलचस्प डेटा विज़ुअलाइज़ेशन बनाने का प्रयोग किया था। सामान्य तौर पर, आप इस तालिका का उपयोग करके पूछे जाने वाले प्रश्न के लिए [सही प्रकार का चार्ट](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/) चुन सकते हैं:
| आपको चाहिए: | आपको उपयोग करना चाहिए: |
| -------------------------- | ----------------------------- |
| समय के साथ डेटा रुझान दिखाएं | रेखा |
| श्रेणियों की तुलना करें | बार, पाई |
| योग की तुलना करें | पाई, स्टैक्ड बार |
| रिश्ते दिखाएँ | तितर बितर, रेखा, पहलू, दोहरी रेखा |
| वितरण दिखाएं | तितर बितर, हिस्टोग्राम, बॉक्स |
| अनुपात दिखाएँ | पाई, डोनट, वफ़ल |
> ✅ आपके डेटा की बनावट के आधार पर, आपको इसका समर्थन करने के लिए दिए गए चार्ट को प्राप्त करने के लिए इसे टेक्स्ट से न्यूमेरिक में बदलने की आवश्यकता हो सकती है।
## धोखे से बचें
यहां तक ​​कि अगर एक डेटा वैज्ञानिक सही डेटा के लिए सही चार्ट चुनने के लिए सावधान है, तो ऐसे कई तरीके हैं जिनसे डेटा को एक बिंदु साबित करने के लिए प्रदर्शित किया जा सकता है, अक्सर डेटा को कम करने की कीमत पर। भ्रामक चार्ट और इन्फोग्राफिक्स के कई उदाहरण हैं!
[![हाउ चार्ट्स लाइ बाय अल्बर्टो काहिरा](./images/tornado.png)](https://www.youtube.com/watch?v=oX74Nge8Wkw "How चार्ट्स झूठ")
> भ्रामक चार्ट के बारे में एक सम्मेलन वार्ता के लिए ऊपर की छवि पर क्लिक करें
यह चार्ट दिनांक के आधार पर सत्य के विपरीत दिखाने के लिए X अक्ष को उलट देता है:
![खराब चार्ट 1](images/bad-chart-1.png)
[यह चार्ट](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) और भी भ्रामक है, क्योंकि यह निष्कर्ष निकालने के लिए सही है कि, समय के साथ, विभिन्न काउंटियों में COVID मामलों में गिरावट आई है। वास्तव में, यदि आप तिथियों को करीब से देखते हैं, तो आप पाते हैं कि उन्हें उस भ्रामक गिरावट की प्रवृत्ति देने के लिए पुनर्व्यवस्थित किया गया है।
![खराब चार्ट 2](images/bad-chart-2.jpg)
यह कुख्यात उदाहरण धोखा देने के लिए रंग और एक फ़्लिप वाई अक्ष का उपयोग करता है: यह निष्कर्ष निकालने के बजाय कि बंदूक के अनुकूल कानून के पारित होने के बाद बंदूक की मौत बढ़ गई, वास्तव में आंख को यह सोचने के लिए मूर्ख बनाया जाता है कि विपरीत सच है:
![खराब चार्ट 3](images/bad-chart-3.jpg)
यह अजीब चार्ट दिखाता है कि कैसे अनुपात में हेरफेर किया जा सकता है, उल्लसित प्रभाव के लिए:
![खराब चार्ट 4](images/bad-chart-4.jpg)
अतुलनीय की तुलना करना अभी तक एक और छायादार चाल है। एक [अद्भुत वेब साइट](https://tylervigen.com/spurious-correlations) सभी 'नकली सहसंबंध' के बारे में है जो मेन में तलाक की दर और मार्जरीन की खपत जैसी 'तथ्यों' से संबंधित चीजों को प्रदर्शित करती है। एक Reddit समूह डेटा का [बदसूरत उपयोग](https://www.reddit.com/r/dataisugly/top/?t=all) भी एकत्र करता है।
यह समझना महत्वपूर्ण है कि भ्रामक चार्ट द्वारा आंख को कितनी आसानी से मूर्ख बनाया जा सकता है। भले ही डेटा वैज्ञानिक की मंशा अच्छी हो, लेकिन खराब प्रकार के चार्ट का चुनाव, जैसे कि बहुत अधिक श्रेणियां दिखाने वाला पाई चार्ट, भ्रामक हो सकता है।
## रंग
आपने ऊपर 'फ्लोरिडा गन हिंसा' चार्ट में देखा कि कैसे रंग चार्ट को अर्थ की एक अतिरिक्त परत प्रदान कर सकते हैं, विशेष रूप से वे जो मैटप्लोटलिब और सीबॉर्न जैसे पुस्तकालयों का उपयोग करके डिज़ाइन नहीं किए गए हैं जो विभिन्न सत्यापित रंग पुस्तकालयों और पट्टियों के साथ आते हैं। अगर आप हाथ से चार्ट बना रहे हैं, तो [रंग सिद्धांत](https://colormatters.com/color-and-design/basic-color-theory) का थोड़ा अध्ययन करें
> ✅ चार्ट डिजाइन करते समय सावधान रहें, कि एक्सेसिबिलिटी विज़ुअलाइज़ेशन का एक महत्वपूर्ण पहलू है। आपके कुछ उपयोगकर्ता कलर ब्लाइंड हो सकते हैं - क्या आपका चार्ट दृष्टिबाधित उपयोगकर्ताओं के लिए अच्छा प्रदर्शन करता है?
अपने चार्ट के लिए रंग चुनते समय सावधान रहें, क्योंकि रंग वह अर्थ बता सकता है जिसका आप इरादा नहीं कर सकते। ऊपर 'ऊंचाई' चार्ट में 'गुलाबी महिलाएं' एक विशिष्ट 'स्त्री' अर्थ व्यक्त करती हैं जो चार्ट की विचित्रता को जोड़ती है।
जबकि [रंग अर्थ](https://colormatters.com/color-symbolism/the-meanings-of-colors) दुनिया के अलग-अलग हिस्सों में अलग-अलग हो सकते हैं, और उनकी छाया के अनुसार अर्थ में परिवर्तन होता है। सामान्यतया, रंग अर्थों में शामिल हैं:
| रंग | अर्थ |
| ------ | ------------------- |
| लाल | शक्ति |
| नीला | भरोसा, वफादारी |
| पीला | खुशी, सावधानी |
| हरा | पारिस्थितिकी, भाग्य, ईर्ष्या |
| बैंगनी | खुशी |
| नारंगी | कंपन |
यदि आपको कस्टम रंगों के साथ चार्ट बनाने का काम सौंपा गया है, तो सुनिश्चित करें कि आपके चार्ट दोनों पहुंच योग्य हैं और आपके द्वारा चुना गया रंग उस अर्थ से मेल खाता है जिसे आप व्यक्त करने का प्रयास कर रहे हैं।
## पठनीयता के लिए अपने चार्ट को स्टाइल करना
यदि चार्ट पढ़ने योग्य नहीं हैं तो वे अर्थपूर्ण नहीं हैं! अपने डेटा के साथ अच्छी तरह से स्केल करने के लिए अपने चार्ट की चौड़ाई और ऊंचाई को स्टाइल करने पर विचार करने के लिए कुछ समय निकालें। यदि एक चर (जैसे सभी ५० राज्यों) को प्रदर्शित करने की आवश्यकता है, तो यदि संभव हो तो उन्हें Y अक्ष पर लंबवत रूप से दिखाएं ताकि क्षैतिज-स्क्रॉलिंग चार्ट से बचा जा सके।
अपनी कुल्हाड़ियों को लेबल करें, यदि आवश्यक हो तो एक किंवदंती प्रदान करें, और डेटा की बेहतर समझ के लिए टूलटिप्स प्रदान करें।
यदि आपका डेटा X अक्ष पर टेक्स्टुअल और वर्बोज़ है, तो आप बेहतर पठनीयता के लिए टेक्स्ट को एंगल कर सकते हैं। [Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) ३डी प्लॉटिंग की पेशकश करता है, अगर आप डेटा इसका समर्थन करते हैं। परिष्कृत डेटा विज़ुअलाइज़ेशन `mpl_toolkits.mplot3d` का उपयोग करके तैयार किया जा सकता है।
![3d plots](images/3d.png)
## एनिमेशन और 3डी चार्ट डिस्प्ले
आज कुछ बेहतरीन डेटा विज़ुअलाइज़ेशन एनिमेटेड हैं। शर्ली वू ने डी3 के साथ अद्भुत काम किए हैं, जैसे '[फिल्म फूल](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', जहां प्रत्येक फूल एक फिल्म का एक दृश्य है। गार्जियन के लिए एक और उदाहरण 'बस्स्ड आउट' है, ग्रीन्सॉक और डी3 के साथ विज़ुअलाइज़ेशन के संयोजन के साथ एक इंटरैक्टिव अनुभव और एक स्क्रॉलीटेलिंग आलेख प्रारूप यह दिखाने के लिए कि एनवाईसी लोगों को शहर से बाहर निकालकर अपनी बेघर समस्या को कैसे संभालता है।
![busing](images/busing.png)
> "बस्स्ड आउट: हाउ अमेरिका मूव्स इट्स बेघर" से [अभिभावक](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). नादिह ब्रेमर और शर्ली वू द्वारा विज़ुअलाइज़ेशन
हालांकि यह पाठ इन शक्तिशाली विज़ुअलाइज़ेशन लाइब्रेरी को सिखाने के लिए पर्याप्त नहीं है, फिर भी एक एनिमेटेड सोशल नेटवर्क के रूप में "डेंजरस लाइजन्स" पुस्तक के विज़ुअलाइज़ेशन को प्रदर्शित करने के लिए लाइब्रेरी का उपयोग करके Vue.js ऐप में D3 पर अपना हाथ आज़माएं।
> "लेस लिआइसन्स डेंजरियस" एक पत्र-पत्रिका उपन्यास है, या पत्रों की एक श्रृंखला के रूप में प्रस्तुत उपन्यास है। 1782 में चोडरलोस डी लैक्लोस द्वारा लिखित, यह 18 वीं शताब्दी के अंत में फ्रांसीसी अभिजात वर्ग के दो द्वंद्वयुद्ध नायक, विकोमेट डी वालमोंट और मार्क्विस डी मेर्टुइल के शातिर, नैतिक रूप से दिवालिया सामाजिक युद्धाभ्यास की कहानी कहता है। दोनों अंत में अपने निधन से मिलते हैं लेकिन सामाजिक क्षति का एक बड़ा सौदा किए बिना नहीं। उपन्यास उनके मंडलियों में विभिन्न लोगों को लिखे गए पत्रों की एक श्रृंखला के रूप में सामने आता है, जो बदला लेने की साजिश रच रहा है या बस परेशानी पैदा कर रहा है। कथा के प्रमुख सरगनाओं को नेत्रहीन रूप से खोजने के लिए इन पत्रों का एक विज़ुअलाइज़ेशन बनाएं।
आप एक वेब ऐप पूरा करेंगे जो इस सोशल नेटवर्क का एक एनिमेटेड दृश्य प्रदर्शित करेगा। यह एक पुस्तकालय का उपयोग करता है जिसे Vue.js और D3 का उपयोग करके [एक नेटवर्क का दृश्य](https://github.com/emiliorizzo/vue-d3-network) बनाने के लिए बनाया गया था। जब ऐप चल रहा हो, तो आप डेटा को इधर-उधर करने के लिए स्क्रीन पर चारों ओर नोड्स खींच सकते हैं।
![liaisons](images/liaisons.png)
## प्रोजेक्ट: D3.js का उपयोग करके नेटवर्क दिखाने के लिए एक चार्ट बनाएं
> इस पाठ फ़ोल्डर में एक `solution` फ़ोल्डर शामिल है जहां आप अपने संदर्भ के लिए पूर्ण परियोजना ढूंढ सकते हैं।
1. स्टार्टर फोल्डर के रूट में README.md फाइल में दिए गए निर्देशों का पालन करें। सुनिश्चित करें कि आपके प्रोजेक्ट की निर्भरता स्थापित करने से पहले आपके मशीन पर NPM और Node.js चल रहे हैं।
2. `starter/src` फ़ोल्डर खोलें। आपको एक `assets` फ़ोल्डर मिलेगा जहां आप उपन्यास के सभी अक्षरों वाली एक .json फ़ाइल ढूंढ सकते हैं, जिसमें 'से' और 'प्रेषक' लिखावट हो।
3. विज़ुअलाइज़ेशन को सक्षम करने के लिए कोड को `components/Nodes.vue` में पूरा करें। `createLinks()` नामक विधि की तलाश करें और निम्नलिखित नेस्टेड लूप जोड़ें।
अक्षरों के लिए 'से' और 'से' डेटा कैप्चर करने के लिए .json ऑब्जेक्ट के माध्यम से लूप करें और `links` ऑब्जेक्ट का निर्माण करें ताकि विज़ुअलाइज़ेशन लाइब्रेरी इसका उपभोग कर सके:
```javascript
// अक्षरों के माध्यम से लूप
let f = 0;
let t = 0;
for (var i = 0; i < letters.length; i++) {
for (var j = 0; j < characters.length; j++) {
if (characters[j] == letters[i].from) {
f = j;
}
if (characters[j] == letters[i].to) {
t = j;
}
}
this.links.push({ sid: f, tid: t });
}
```
टर्मिनल से अपना ऐप चलाएं (एनपीएम रन सर्व करें) और विज़ुअलाइज़ेशन का आनंद लें!
## चुनौती
भ्रामक विज़ुअलाइज़ेशन खोजने के लिए इंटरनेट का भ्रमण करें. लेखक उपयोगकर्ता को कैसे मूर्ख बनाता है, और क्या यह जानबूझकर किया गया है? विज़ुअलाइज़ेशन को यह दिखाने के लिए सही करने का प्रयास करें कि उन्हें कैसा दिखना चाहिए।
## [व्याख्यान के बाद प्रश्नोत्तरी](https://red-water-0103e7a0f.azurestaticapps.net/quiz/25)
## समीक्षा और आत्म अध्ययन
भ्रामक डेटा विज़ुअलाइज़ेशन के बारे में पढ़ने के लिए यहां कुछ लेख दिए गए हैं:
https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
ऐतिहासिक संपत्तियों और कलाकृतियों के लिए इन रुचि विज़ुअलाइज़ेशन पर एक नज़र डालें:
https://handbook.pubpub.org/
इस लेख को देखें कि एनीमेशन आपके विज़ुअलाइज़ेशन को कैसे बढ़ा सकता है:
https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
## कार्यभार
[अपना खुद का कस्टम विज़ुअलाइज़ेशन बनाएं](assignment.hi.md)

@ -11,11 +11,11 @@
इन पांच पाठों में, आप प्रकृति से प्राप्त डेटा का पता लगाएंगे और विभिन्न तकनीकों का उपयोग करके दिलचस्प और सुंदर विज़ुअलाइज़ेशन बनाएंगे।
### Topics
1. [विज़ुअलाइज़िंग मात्रा](09-visualization-quantities/README.md)
1. [विज़ुअलाइज़िंग वितरण](10-visualization-distributions/README.md)
1. [विज़ुअलाइज़िंग अनुपात](11-visualization-proportions/README.md)
1. [रिश्तों की कल्पना](12-visualization-relationships/README.md)
1. [सार्थक विज़ुअलाइज़ेशन बनाना](13-meaningful-visualizations/README.md)
1. [विज़ुअलाइज़िंग मात्रा](09-visualization-quantities/translations/README.hi.mdREADME.hi.md)
1. [विज़ुअलाइज़िंग वितरण](10-visualization-distributions/translations/README.hi.md)
1. [विज़ुअलाइज़िंग अनुपात](11-visualization-proportions/translations/README.hi.md)
1. [रिश्तों की कल्पना](12-visualization-relationships/translations/README.hi.md)
1. [सार्थक विज़ुअलाइज़ेशन बनाना](13-meaningful-visualizations/translations/README.hi.md)
### Credits

Loading…
Cancel
Save