ازگر متعدد بے حد طاقت ور لائبریریوں اور فریم ورکوں کا ذخیرہ اندوزی ہے۔ ان میں ، ہے سمندری طوفان ، جو ایک غالب ہے اعداد و شمار کی تصور لائبریری ، پروگرامرز کو مکمل کرنے کے لئے ایک اور وجہ فراہم کرتی ہے . اس ازگر سیبرورن ٹیوٹوریل میں ، آپ سیبرورن کا استعمال کرتے ہوئے ڈیٹا بصری کی ساری نگاہیں جھکائیں گے۔
آگے بڑھنے سے پہلے آئیے اس مضمون میں گفتگو کے تمام عنوانات پر نگاہ ڈالیں:
- کیوں Seaborn استعمال کرتے ہیں؟
- سمندری طوفان کیسے انسٹال کریں؟
- ازگر سیبرن انحصار انسٹال کرنا
- سمندری طوفان کے پلاٹنگ کے کام
- ملٹی پلاٹ گرڈ
- پلاٹ-جمالیات
تو آئیں ، پہلے ازگر سیبرورن کی اہمیت کو سمجھ کر شروع کریں۔
ازگر سیبرورن کا استعمال کیوں؟
جیسا کہ پہلے ذکر کیا گیا ہے ، ازگر سیبرورن لائبریری کو ڈیٹا بصری کے مشکل کام کو آسان بنانے کے لئے استعمال کیا جاتا ہے اور اس پر مبنی . سیبرن مندرجہ ذیل خصوصیات کے ذریعہ شماریاتی گرافکس بنانے کی اجازت دیتا ہے:
ایک ایسا API جو ڈیٹاسیٹ پر مبنی ہے جو ایک سے زیادہ کے مابین موازنہ کی اجازت دیتا ہے متغیر
کثیر پلاٹ گرڈ کی حمایت کرتا ہے جو آسانی سے پیچیدہ نظاروں کی تعمیر میں آسانی پیدا کرتا ہے
ڈیٹا کے ذیلی حصوں کے مابین موازنہ کرنے کے لئے دستیاب متغیر اور متغیر تصورات
مختلف قسم کے نمونوں کو ظاہر کرنے کے لئے مختلف رنگ پیلیٹوں کی دستیابی
تخمینے اور پلاٹ خود بخود
لہذا ، اگر آپ یہ سوچ رہے ہیں کہ جب آپ کے پاس میٹپلوٹلیب پہلے ہی موجود ہے تو سیابورن کا استعمال کیوں کریں ، اس کا جواب یہاں ہے۔
ازگر سیبارورن بمقابلہ میٹپلوٹلیب:
'اگر میٹپلوٹلیب' آسان چیزوں کو آسان اور مشکل چیزوں کو ممکن بنانے کی کوشش کرتا ہے 'تو ، سمندری طوفان مشکل چیزوں کی بھی ایک اچھی طرح سے وضاحت کرنے کی کوشش کرتا ہے۔' - مائیکل واسکوم (تخلیق کار سمندری جانور)
حقیقت میں ، میٹپلوٹلیب اچھا ہے لیکن سیابورن بہتر ہے۔ میٹپلوٹلیب کی بنیادی طور پر دو کوتاہیاں ہیں جو سیبرن فکس کرتی ہیں۔
میٹپلوٹلیب کو شخصی بنایا جاسکتا ہے لیکن یہ جاننا مشکل ہے کہ پلاٹوں کو زیادہ دلکش بنانے کے لئے کن ترتیبات کی ضرورت ہے۔ دوسری طرف ، سیبرورن اس مسئلے کو حل کرنے کے ل numerous متعدد تخصیص کردہ تھیمز اور اعلی سطحی انٹرفیس کے ساتھ آتا ہے۔
جب کام کرتے ہو پانڈاس ، جب ڈیٹا فریموں سے نمٹنے کی بات آتی ہے تو میٹپلوٹلیب اچھی کارکردگی کا مظاہرہ نہیں کرتا ، جبکہ سیبرن فنکشنز دراصل ڈیٹا فریموں پر کام کرتے ہیں۔
سیبرورن کیسے انسٹال کریں؟
جاوا میں ڈبل میں تبدیل
ازگر سیبرورن لائبریری کو انسٹال کرنے کے لئے ، آپ اپنے استعمال کردہ پلیٹ فارم کی بنیاد پر درج ذیل کمانڈ استعمال کرسکتے ہیں:
سمندری طوفان نصب
یا
کونڈا انسٹال سمندری طوفان
ایک بار یہ انسٹال ہوجانے کے بعد ، صرف یہ یقینی بنائیں کہ ان پیکیجز اور لائبریریوں کو انسٹال کرنا ہے جن پر سمندری طوفان منحصر ہے۔
ازگر سیبرن انحصار انسٹال کرنا:
سمندری ساحل کے لئے لازمی انحصار یہ ہیں:
یہاں ایک تجویز کردہ انحصار بھی ہے جو ہے:
- ریاست کے ماڈل
ان لائبریریوں کو انسٹال کرنے کے لئے ، آپ وہی احکامات استعمال کرسکتے ہیں جیسا کہ پہلے سیبرورن کے لئے ان کے متعلقہ ناموں کے ساتھ دکھایا گیا ہے۔ ایک بار انسٹال ہوجانے پر ، انہیں آسانی سے درآمد کیا جاسکتا ہے۔ سیبرورن آپ کو کسی بھی ڈیٹاسیٹ کو لوڈ کرنے کی اجازت دیتا ہے کا استعمال کرتے ہوئے لوڈ_ڈیٹاسیٹ () تقریب آپ get_dataset_names () فنکشن کا استعمال کرکے دستیاب تمام ڈیٹاسیٹ کو بھی مندرجہ ذیل دیکھ سکتے ہیں:
مثال:
سمندری طوفان کو بطور sns.get_dataset_names () درآمد کریں
یہ تمام دستیاب ڈیٹاسیٹس کی فہرست لوٹائے گا۔
اب جب کہ آپ نے سمندری ساحل کے ساتھ کام کرنے کے لئے اپنا ماحول مرتب کیا ہے ، آئیے مزید آگے بڑھیں یہ دیکھنے کے لئے کہ اس میں کس طرح کے منصوبے بنائے جارہے ہیں اس کا استعمال کریں۔ .
سمندری طوفان کے پلاٹنگ کے کام
اعدادوشمار کے تعلقات کا تصور:
ڈیٹاسیٹ کے متغیر کے مابین تعلقات کو سمجھنے کے عمل کو اور یہ کہ یہ رشتے دوسرے متغیر پر کس طرح انحصار کرتے ہیں اسے اعداد و شمار کے تجزیے کے نام سے جانا جاتا ہے۔ آئیے اب اس کے لئے ضروری کاموں پر گہری نگاہ ڈالیں:
ریسپلوٹ ():
یہ ایک اعداد و شمار کی سطح کی تقریب ہے جو اعدادوشمار کے تعلقات کو تصور کرنے کے لئے دو دیگر محور افعال کا استعمال کرتی ہے جو یہ ہیں:
- سکریٹرپلٹ ()
- لائنپلوٹ ()
ان افعال کو ریلپلوٹ () کے 'قسم' کے پیرامیٹر کا استعمال کرتے ہوئے بیان کیا جاسکتا ہے۔ اگر یہ پیرامیٹر دیا گیا ہے تو ، یہ پہلے سے طے شدہ لے جاتا ہے جو سکریٹرپلوٹ () ہے۔ اپنا کوڈ لکھنا شروع کرنے سے پہلے ، درج ذیل لائبریریوں کی درآمد یقینی بنائیں۔
پی پی درآمد matplotlib.pyplot بطور plt درآمد سمندری جہاز sns sns.set (انداز = 'ڈارک گرڈ') بطور NP درآمد پانڈا کو نپٹی درآمد کریں
براہ کرم نوٹ کریں کہ اسٹائل وصف بھی حسب ضرورت ہے اور کسی قدر جیسے ڈارک گرڈ ، ٹکس وغیرہ لے سکتا ہے جس کے بارے میں میں پلاٹ جمالیات کے حصے میں بعد میں تبادلہ خیال کروں گا۔ آئیے اب ایک چھوٹی سی مثال پر ایک نظر ڈالیں:
مثال:
f = sns.load_dataset ('فلائٹس') sns.relplot (x = 'مسافر'، y = 'مہینہ' ، ڈیٹا = f)
آؤٹ پٹ:
جیسا کہ آپ دیکھ سکتے ہیں ، پوائنٹس کو 2 جہتوں میں پلاٹ کیا گیا ہے۔ تاہم ، آپ 'رنگ' سنیمنٹ کا استعمال کرتے ہوئے ایک اور جہت شامل کرسکتے ہیں۔ آئیے اس کی ایک مثال پر ایک نظر ڈالیں:
مثال:
f = sns.load_dataset ('فلائٹس') sns.relplot (x = 'مسافر'، y = 'مہینہ'، ہیو = 'سال'، ڈیٹا = f)
آپ کو مندرجہ ذیل آؤٹ پٹ نظر آئے گا:
آؤٹ پٹ:
تاہم ، یہاں بہت ساری تخصیصات ہیں جن کی آپ رنگ ، انداز ، سائز ، وغیرہ کو آزما سکتے ہیں۔ مجھے صرف یہ بتانے دو کہ آپ مندرجہ ذیل مثال میں کس طرح رنگ تبدیل کرسکتے ہیں:
مثال:
sns.set (انداز = 'ڈارکگریڈ') f = sns.load_dataset ('فلائٹس') sns.relplot (x = 'مسافروں'، y = 'مہینہ'، ہیو = 'سال'، پیلیٹ = 'ch: r = - .5 ، l = .75 '، ڈیٹا = ایف)
آؤٹ پٹ:
لائنپلوٹ ():
یہ فنکشن آپ کو اپنے اعداد و شمار کے لئے ایک مستقل لکیر کھینچنے کی سہولت دے گا۔ آپ اس فنکشن کو 'قسم' کے پیرامیٹر کو مندرجہ ذیل میں تبدیل کرکے استعمال کرسکتے ہیں۔
مثال:
a = pd.DataFrame (Day 'دن': [1،2،3،4،5،6،7]، 'گروسری': [30،80،45،23،51،46،76]، 'کپڑے' : [[13،40،34،23،54،67،98]، 'برتن': [12،32،27،56،87،54،34]}، انڈیکس = [1،2،3،4،5] ، 6،7]) g = sns.relplot (x = 'دن' ، y = 'کپڑے' ، قسم = 'لائن' ، ڈیٹا = ایک) g.fig.autofmt_xdate ()
آؤٹ پٹ:
لائن پلیٹ کے لئے پہلے سے طے شدہ x کی افعال کے طور پر y ہے۔ تاہم ، اگر آپ یہ کرنا چاہتے ہیں تو اسے تبدیل کیا جاسکتا ہے۔ اور بھی بہت سارے اختیارات ہیں جن کی آپ مزید کوشش کر سکتے ہیں۔
اب آئیے ایک نظر ڈالتے ہیں کہ کس طرح دوٹوک ڈیٹا کو پلاٹ کیا جائے۔
کلاسیکی ڈیٹا کے ساتھ پلاٹنگ:
یہ نقطہ نظر اس وقت منظرعام پر آتا ہے جب ہمارے مرکزی متغیر کو مزید مجرد گروہوں (الگ الگ) میں تقسیم کیا جاتا ہے۔ یہ کیٹپلٹ () فنکشن کا استعمال کرتے ہوئے حاصل کیا جاسکتا ہے۔
کیٹپلٹ ():
یہ ایک اعداد و شمار کی سطح کا کام ہے جیسے ریلپلوٹ ()۔ اس کی خصوصیت محور کی سطح کے افعال کے تین خاندانوں کے ذریعہ ہوسکتی ہے۔
اسکیٹرپلٹس - ان میں سٹرپللوٹ () ، سوارمپلٹ () شامل ہیں
سی ایس ایس اور سی ایس ایس 3 کے مابین فرق
ڈسٹری بیوشن پلاٹس۔ جو باکسپلوٹ () ، وایلن پلٹ () ، باکسین پلٹ () ہیں
ایسٹیمپلاٹس - یعنی پوائنٹ پلیٹ ()، بارپلٹ ()، کاؤنٹی پلٹ ()
آئیے اب اس کو ظاہر کرنے کے لئے کچھ مثالوں کو لیں۔
مثال:
seaborn درآمد sns کے طور پر درآمد کریں matplotlib.pyplot بطور plt sns.set (انداز = 'ٹککس' ، رنگ_ کوڈ = سچ) a = sns.load_dataset ('اشارے') sns.catplot (x = 'دن' ، y = 'ٹوٹل_بل' ، ڈیٹا = ایک)
آؤٹ پٹ:
جیسا کہ آپ دیکھ سکتے ہیں ، مذکورہ بالا مثال میں میں نے '' مہربان '' پیرامیٹر مرتب نہیں کیا ہے۔ لہذا اس نے پہلے سے طے شدہ سکریٹرپلوٹ کے طور پر گراف واپس کردیا ہے۔ آپ گراف کو ضرورت کے مطابق تبدیل کرنے کے ل any کسی بھی محور کی سطح کی تقریب کی وضاحت کرسکتے ہیں۔ آئیے اس کی ایک مثال بھی لیں۔
مثال:
seaborn درآمد sns کے طور پر درآمد کریں matplotlib.pyplot بطور plt sns.set (انداز = 'ٹککس' ، رنگ_ کوڈ = سچ) a = sns.load_dataset ('اشارے') sns.catplot (x = 'دن' ، y = 'ٹوٹل_بل' ، قسم = 'وایلن' ، ڈیٹا = ایک)
آؤٹ پٹ:
مندرجہ بالا آؤٹ پٹ ٹپس ڈیٹاسیٹ کے لئے وایلن پلٹ کو ظاہر کرتا ہے۔ اب ہم ڈیٹاسیٹ کی تقسیم کو تصور کرنے کا طریقہ تلاش کرنے کی کوشش کرتے ہیں۔
ڈیٹاسیٹ کی تقسیم کا تصور دیکھنا:
یہ بنیادی طور پر ڈیٹاسیٹس کو غیر متزلزل یا متوافق ہونے کے تناظر میں سمجھنے سے متعلق ہے۔ اس سے شروع کرنے سے پہلے ، صرف درج ذیل کو درآمد کریں:
پی پی درآمد سمندری طوفان کے بطور این پی درآمد پانڈاس نپی کے طور پر درآمد کریں sns درآمد کے اعدادوشمار sns.set سے رنگ کے طور پر درآمد matplotlib.pyplot (color_codes = سچ)
ایک بار یہ کام ہو جانے کے بعد ، آپ غیر متفاوت اور دوئندہ تقسیموں کی سازشیں جاری رکھ سکتے ہیں۔
یونیوریٹی تقسیم تقسیم کرنا:
ان کی منصوبہ بندی کے ل you ، آپ ڈیسپلٹ () فنکشن کا استعمال ذیل میں کر سکتے ہیں:
مثال:
a = np.random.normal (لوک = 5، سائز = 100، اسکیل = 2) sns.distplot (a)
آؤٹ پٹ:
جیسا کہ آپ مندرجہ بالا مثال میں دیکھ سکتے ہیں ، ہم نے متغیر کے لئے ایک گراف تیار کیا ہے جس کی اقدار ڈسپپلٹ کے ذریعہ عام () فنکشن کے ذریعہ تیار ہوتی ہیں۔
بیوریٹ تقسیم تقسیم کرنا:
یہ اس وقت منظر عام پر آتا ہے جب آپ کے پاس دو بے ترتیب آزاد متغیرات ہوتے ہیں جس کے نتیجے میں کچھ ممکنہ واقع ہوتا ہے۔ اس طرح کے گرافوں کو پلاٹ کرنے کا بہترین فنکشن مشترکہ پلٹ () ہے۔ آئیے اب ہم مشترکہ پلٹ () کا استعمال کرتے ہوئے بائیوئریٹ گراف تیار کرتے ہیں۔
مثال:
x = pd.DataFrame (Day 'دن': [1،2،3،4،5،6،7]، 'گروسری': [30،80،45،23،51،46،76]، 'کپڑے' : [[13،40،34،23،54،67،98]، 'برتن': [12،32،27،56،87،54،34]}، انڈیکس = [1،2،3،4،5] ، 6،7]) y = pd.DataFrame ({'دن': [8،9،10،11،12،13،14]، 'گروسری': [30،80،45،23،51،46، 76] ، 'کپڑے': [13،40،34،23،54،67،98]، 'برتن': [12،32،27،56،87،54،34] index، انڈیکس = [8،9 ، 10،11،12،13،14]) مطلب ، cov = [0 ، 1] ، [(1 ، .5) ، (.5 ، 1)] ڈیٹا = np.random.multivariate_normal (مطلب ، cov ، 200) ) sns.axes_style ('سفید') کے ساتھ: sns.jointplot (x = x، y = y، قسم = 'kde' ، رنگ = 'b')
آؤٹ پٹ:
اب جب کہ آپ ازگر سیبرورن کے مختلف کاموں کو سمجھ چکے ہیں ، آئیے ہم ساختی ملٹی پلاٹ گرڈ بنانے کے لئے آگے بڑھتے ہیں۔
ملٹی پلاٹ گرڈ:
ازگر سیبرورن آپ کو متعدد گرڈس کو بہ پہلوؤں کی منصوبہ بندی کرنے کی اجازت دیتا ہے۔ یہ بنیادی طور پر پلاٹ یا گراف ہیں جو ایک ہی پیمانے اور کلہاڑیوں کا استعمال کرتے ہوئے ان کے مابین موازنہ میں مدد کے لئے بنائے گئے ہیں۔ اس کے نتیجے میں ، پروگرامر کو پلاٹوں میں تیزی سے فرق کرنے اور بڑی مقدار میں معلومات حاصل کرنے میں مدد کرتا ہے۔
ان گرافوں کو تیار کرنے کے لئے فیسٹ گرڈ () فنکشن کی مندرجہ ذیل مثال پر غور کریں۔
مثال:
sns.set (انداز = 'ڈارکگریڈ') a = sns.load_dataset ('آئیرس') b = sns.FacetGrid (a، col = 'ذات') b.map (plt.hist، 'sepal_leight')
آؤٹ پٹ:
مذکورہ بالا آؤٹ پٹ ان ٹپس کے مابین واضح طور پر موازنہ ظاہر کرتی ہے جو لنچ اور ڈنر کے دوران دیئے جاتے ہیں۔ جب آپ کے پاس موازنہ کرنے کے لئے متغیرات کا ایک جوڑا ہوتا ہے تو آپ پیئر گریڈ فنکشن کا استعمال بھی کر سکتے ہیں۔ مندرجہ ذیل مثال پر غور کریں۔
مثال:
sns.set (انداز = 'ٹککس') a = sns.load_dataset ('فلائٹس') b = sns.PairGrid (a) b.map (plt.scatter)
آؤٹ پٹ:
جیسا کہ آپ دیکھ سکتے ہیں ، مذکورہ بالا پیداوار مختلف طریقوں سے سال اور مسافروں کی تعداد کے درمیان واضح طور پر موازنہ کرتی ہے۔
سیبرورن خوبصورتی کے حوالے سے تخصیصات کی بھی اجازت دیتا ہے جس پر مزید بحث کی جاتی ہے۔
پلاٹ-جمالیات:
ازگر سیبرورن ٹیوٹوریل کا یہ طبقہ ہمارے پلاٹوں کو زیادہ پرکشش اور لذت بخش بنانے سے متعلق ہے۔
ازگر سیبرورن فگر - جمالیات:
پہلا فنکشن جس پر میں بات کروں گا وہ طے ہے ()۔ میں پہلے بھی اس فنکشن کا 'اسٹائل' پیرامیٹر استعمال کرتا رہا ہوں۔ یہ پیرامیٹر بنیادی طور پر سمندری پتھر کے موضوعات کے ساتھ معاملات کرتا ہے۔ فی الحال ، ان میں سے پانچ ڈارک گریڈ ، ٹِکس ، وائٹ گرڈ ، سفید اور سیاہ شامل ہیں۔
سفید تھیم کا مظاہرہ کرتے ہوئے درج ذیل مثال پر غور کریں۔
مثال:
سیلینیم میں کراس براؤزر کی جانچ
seaborn درآمد sns کے طور پر درآمد matplotlib.pyplot بطور plt sns.set (انداز = 'سفید'، رنگ_کوڈ = سچ) a = sns.load_dataset ('نکات') sns.boxplot (x = 'دن'، y = 'ٹوٹل_بل'، ڈیٹا = ایک)
آؤٹ پٹ:
مندرجہ بالا آؤٹ پٹ میں ، آپ دیکھ سکتے ہیں کہ تھیم کو سفید کر دیا گیا ہے۔ آپ دوسرے موضوعات کا استعمال کرتے ہوئے انھیں مزید دریافت کرسکتے ہیں۔ اگر آپ پچھلے آؤٹ پٹ میں محسوس کرتے ہیں تو ، گراف کے چاروں طرف محور موجود ہیں۔ تاہم ، یہ بھی ڈیسائین () فنکشن کا استعمال کرتے ہوئے مرضی کے مطابق ہے۔ ذیل کی مثال دیکھو۔
مثال:
seaborn درآمد sns کے طور پر درآمد matplotlib.pyplot بطور plt sns.set (انداز = 'سفید'، رنگ_کوڈ = سچ) a = sns.load_dataset ('نکات') sns.boxplot (x = 'دن'، y = 'ٹوٹل_بل'، ڈیٹا = اے) sns.despine (آفسیٹ = 10 ، ٹرم = سچ)
آؤٹ پٹ:
پچھلے دو نتائج کے مابین فرق نوٹ کریں۔ تاہم ، اور بھی بہت سے اختیارات ہیں جو آپ خود تلاش کرسکتے ہیں۔
ازگر سیبرورن رنگین پیلیٹ:
رنگ بنیادی طور پر وہ خصوصیت ہے جو انسانی آنکھوں تک کسی بھی خصوصیت سے بالاتر ہے۔ سمندری طوفان آپ کو رنگین پلےٹ () ، hls_palette () ، ہسل_پیلیٹ () ، وغیرہ جیسے مختلف فنکشنز کا استعمال کرتے ہوئے رنگوں سے کھیلنے کی اجازت دیتا ہے۔ اس رنگ پر نظر ڈالیں جو اس وقت سمندری طوفان کے اندر موجود ہیں۔
مثال:
NP درآمد کے طور پر NP درآمد سمندری طوفان بطور sns درآمد matplotlib.pyplot بطور plt sns.set () presentcolors = sns.color_palette () sns.palplot (موجود رنگ)
آؤٹ پٹ:
مذکورہ بالا شبیہہ وہ رنگ دکھاتی ہے جو سمندری ساحل کے اندر موجود ہیں۔ میں نے پلپلوٹ () فنکشن کا استعمال کرتے ہوئے کیا ہے۔ گہری تغیرات کے ل you ، آپ hls_palette () ، ہسل_پیلیٹ () وغیرہ استعمال کرسکتے ہیں۔
یہ ہمارے ساتھ ازگر سیبرورن ٹیوٹوریل کے اختتام تک پہنچا ہے۔ مجھے امید ہے کہ آپ سب کچھ واضح طور پر سمجھ چکے ہوں گے۔ یقینی بنائیں کہ آپ زیادہ سے زیادہ مشق کریں .
ہمارے لئے ایک سوال ہے؟ براہ کرم اس 'ازگر سیبرورن ٹیوٹوریل' بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جتنی جلدی ممکن ہو آپ کو ملیں گے۔
اس کی مختلف ایپلیکیشنز کے ساتھ ازگر میں گہرائی سے آگاہی حاصل کرنے کے ل you ، آپ براہ راست داخلہ لے سکتے ہیں 24/7 کی حمایت اور زندگی بھر تک رسائی کے ساتھ۔