Here I try to make familler to Basic seaborn Topic with short note.
Data Visualization with Seaborn

এই post টি python programming language ব্যবহার করে data-visualization এর জন্য বহুল পরিচিত Seaborn library নিয়ে লিখা, যা Matplotlib এর উপর ভিত্তি করে visual plot দেখিয়ে থাকে।

Introduction to Seaborn

Seaborn library টি python programming language এর একটি data visualization library. এটি statistical graphics তৈরিতে বিশেষভাবে ব্যবহার করা হয়। এটি Mathplotlib এর উপর ভিত্তি করা ছাড়াও Numpy এবং Pandas এর data-structure follow করে। এটি SciPy এর statistical units ও support করে।

Seaborn ব্যবহার করা হয় visualization এর smoothness বাড়ানোর জন্য। Seaborn ব্যবহার করে High-Level interface এর দ্বারা high quality এর statistical graphic produce করা হয়।

Comparison of Seaborn and Matplotlib

" যদি Matplotlib ব্যবহার করে সহজ কাজ বেশি সহজ হয় আর কঠিন কাজ সম্ভব হয়, তবে Seaborn ব্যবহার করে খুব ভাল একটি সংজ্ঞায়িত উপায়ে কঠিন কাজগুলোর একটি সু-সংজ্ঞায়িত সেট তৈরি করা সম্ভব হয় ।"

Seaborn ব্যবহার করে Mathplotlib এ ঘটে এমন ২টি major problem resolve করা যায়। problem গুলো :

  1. Working with Matplotlib’s default parameters

  2. Working with data frames

Seaborn API Overview

Seaborn এর plots গুলোকে basically ৭টি categories করা যায়। – relational plots, categorical plots, distribution plots, regression plots, matrix plots and multi-plot grids.

Seaborn functionality

SeaBorn যে সব functionality provide করে তাদের মধ্যে major functionality গুলো :-

  • Seaborn provide করে dataset-oriented API যা variables এর মধ্যে relationships পরীক্ষা করে।
  • এটি functions provide করে যার দ্বারা linear regression এর বিভিন্ন type এর independent এবং dependent models গুলোকে fit এবং visualize করা যায় ।
  • এটি functions provide করে যার দ্বারা অবিচ্ছিন্ন(univariate) distributions এবং বিখণ্ডিত(bivariate) distributions এর data গুলোর visualization করা যায়। তাছাড়া এই সব data গুলোর subsets গুলোকে compare করা যায়।
  • এটি plotting functions provide করে যার দ্বারা categorical variables গুলোকে ব্যবহার করে observations করা যায় অথবা সামগ্রিক পরিসংখ্যান(aggregate statistics) পাওয়া যায় ।
  • এটি আমাদের matrices এর দ্বারা data visualize এ সাহায্য করে এবং clustering algorithms ব্যবহার করে ঐ সব data এর structural matrices বাহির করতে সাহায্য করে ।
  • এটি statistical time series data কে plot করার জন্য একটি ploting function provide করে । এই function টি flexible estimation দিয়ে থাকে এবং এটি অনুমান এর উপর বিভিন্ন অনিশ্চয়তাকে representation করে থাকে।
  • এটি বিভিন্ন tools provide করে যার দ্বারা পছন্দমত styles, colour palettes, palette widgets and utility functions ব্যবহার করা যায়। এইসব tools আমাদের নিদর্শন প্রকাশ করে যা সুন্দর plots তৈরি করতে সাহায্য করে।
  • এটি অনেক built-in theme provide করে যা ব্যবহার করে অনেকরকম stylish looking Matplotlib graphics তৈরি করা যায়।

Seaborn installation

Seaborn এর latest release install দাওয়ার জন্য terminal এ pip ব্যবহার করতে পারি।

pip install seaborn

terminal এ conda ব্যবহার করে ও install দাওয়া যায়।

conda install seaborn

Alternatively, আমরা development version কে pip ব্যবহার করে directly github থেকে install দিতে পারি :

pip install git+https://github.com/mwaskom/seaborn.git

Dependencies

• Seaborn ব্যবহার এর জন্য Python 2.7 অথবা 3.5+ এর বেশি হইতে হয়।

Mandatory dependencies

Seaborn installation এবং ব্যবহার এর জন্য Python এর বেশ কিছু libraries এর specific version follow করা mandatory.

• NumPy(>= 1.9.3)

• Scipy (>= 0.14.0)

• Matplotlib (>= 1.4.3)

• Pandas (>= 0.15.2)

Recommended dependencies

এছাড়া Seaborn ব্যবহার এর জন্য system এ statsmodels (>= 0.5.0) package এর installation থাকতে হয়।

Import Python libraries

ipynb file এ (jupyter notebook) এ inline ploting এর জন্য matplotlib %matplotlib inline ব্যবহার করে ।
অন্যথায় %matplotlib inline প্রয়োজন নেই।

In [69]:
# Import the dependencies

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

Import Seaborn

আমরা seaborn কে import করতে পারি

import seaborn

বা shorthand notation sns ব্যবহার করে ।

import seaborn as sns

In [70]:
# Import seaborn

import seaborn as sns

Import datasets

Seaborn library এর কিছু important datasets আছে। যখন Seaborn install হয়, তখন datasets গুলোও automatically download হয়। আমরা যে কোন dataset কে load_dataset() function ব্যবহার করে download করতে পারি।

Importing data as Pandas dataframe

এই section এ আমরা যে dataset import করব তা By default pandas dataframe হিসেবে load হয়। tips নাম এর এই dataset আমরা just following কোড এর দ্বারা load করতে পারি।

In [71]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# for jupyter notebook
%matplotlib inline  


tips = sns.load_dataset('tips')

# We can view the first five lines of code with the following command.
print(tips.head())
   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4

Seaborn এ যে সব dataset available তা দেখার জন্য **get_dataset_names()** command ব্যবহার করা হয়।

In [72]:
print(sns.get_dataset_names())
['anagrams', 'anscombe', 'attention', 'brain_networks', 'car_crashes', 'diamonds', 'dots', 'exercise', 'flights', 'fmri', 'gammas', 'geyser', 'iris', 'mpg', 'penguins', 'planets', 'tips', 'titanic']

Seaborn colour palette

color এর variation অনেক important ভূমিকা রাখে data visualization এ । various dimension এ অথবা various unique range নিধারন এর জন্য বা specific কিছু উল্লেখ এর জন্য color অনেক effective.

Seaborn color_palette() নাম এর একটি function provide করে। যা কোন plot এ color করতে বা plot টি কে নান্দনিক করতে ব্যবহার করা হয়। এটি একটি list of colors , color palette থেকে return করে।

seaborn এর বেশ কিছু available palettes আছে। যেমন :

  • Deep

  • Muted

  • Bright

  • Pastel

  • Dark

  • Colorblind

এই সব এর পাশাপাশি আমরা নিজেরাও palettes তৈরি করতে পারি।

Seaborn অন্য এর একটি function seaborn.palplot() যেটিও color oalettes নিয়ে কাজ করে। এই function টি plots এর color গুলোকে horizontal array তে plot করে।

Qualitative Color Palettes

Qualitative অথবা categorical palettes গুলো সবথেকে suitable হয় categorical data plot এর জন্য। যেমন

In [73]:
import matplotlib.pyplot as plt
import seaborn as sns
# for jupyter notebook
%matplotlib inline  

current_palette1 = sns.color_palette()

sns.palplot(current_palette1)

plt.show()

Sequential Color Palettes

Sequential plots গুলো পেতে হইলে আমাদের color_palette এর নামটার পর অতিরিক্ত s যোগ করতে হবে বা plurar বানাইতে হবে।

যেমন আমরা Green এর Sequential Color Palettes পাওয়ার জন্য Greens ব্যবহার করেছি । We need to append 's' to the parameter like 'Greens' as follows:-

In [74]:
import matplotlib.pyplot as plt
import seaborn as sns
# for jupyter notebook
%matplotlib inline  

current_palette2 = sns.color_palette()

sns.palplot( sns.color_palette("Greens"))

plt.show()

Diverging Color Palette

Diverging palettes এ ২ টা ভিন্ন ভিন্ন color ব্যবহার করে। প্রতিটি রঙ উভয় দিকের একটি সাধারণ বিন্দু থেকে শুরু করে মানের পরিবর্তনের প্রতিনিধিত্ব করে ।

আমরা অনুমান করি যে -1 থেকে 1 এর মধ্যে data ploting করা হচ্ছে , এখানে -1 থেকে 0 এর মানগুলি এক রঙ নেয় এবং 0 থেকে +1 অন্য রঙ নেয়।

By default, values গুলোর মধ্য বিন্দু 0 থেকে ।

In [75]:
import matplotlib.pyplot as plt
import seaborn as sns

current_palette3 = sns.color_palette()

sns.palplot( sns.color_palette("BrBG", 7))

plt.show()

Default Color Palette

Seaborn এ default color palette হিসেবে set_palette() function ব্যবহার করা হয়।

set_palette() এবং color_palette() functions এর জন্য arguments গুলো same. কিন্তু default Matplotlib parameters গুলো change করা হয়েছে তাই palette গুলো সব plots এ ব্যবহার করা যায়।

In [76]:
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np


def sinplot(flip=1): 

    x = np.linspace(0, 15, 100) 

    for i in range(1, 5): 

        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip) 


sns.set_style("white")

sns.set_palette("husl") 

sinplot() 

plt.show()

Plotting Univariate Distribution with distplot()

distplot() function টি ব্যবহার করে univariate distribution এর একটি quick look পাওয়া যায়। এই function টি histogram plot করে যা fit করে data গুলো দ্বারা kernel এর density পাওয়া যায়।

আমরা খুব সহজে distplot() function ব্যবহার করতে পারি। যেমন :

In [77]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

# ploting by given label's name
sns.distplot(tips['total_bill']) 

plt.show()

আমরা যদি observation bar ব্যবহার করতে না চাই টা হইলে distplot function এ অতিরিক্ত parameter kde=False ব্যবহার করতে হবে।

In [78]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

# ploting by given label's name
sns.distplot(tips['total_bill'], kde=False) 

plt.show()

আমরা যদি histogram plot এর only observation bar পাইতে চাই টা হইলে distplot function এ অতিরিক্ত parameter hist=False ব্যবহার করতে হবে।

In [79]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.distplot(tips['total_bill'], hist=False) 

plt.show()

Plotting Bivariate Distribution with jointplot()

দুটি variable মধ্যে সম্পর্ক নির্ধারণের জন্য Bivariate Distribution ব্যবহৃত হয়। এটি প্রধানত দুটি veriables মধ্যে relationship তৈরি করে এবং একটি variable অন্য variable এর respect এ কেমন behaving করে টা প্রকাশ করে।

seaborn এ Bivariate Distribution এর analyze করার জন্য jointplot() function সবথেকে ভাল উপাই।

Jointplot() function ব্যবহার করে multi-panel figure তৈরি করা হয় যা ২টি variable এর মধ্যে separate axes এ univariate distribution তৈরি করে।

In [80]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.jointplot(x="total_bill", y="tip", data=tips)

plt.show()

Scatter plot

X এবং y এর দুটি ভেরিয়েবলের মধ্যে সম্পর্ক প্রদর্শনের জন্য একটি scatter plot ব্যবহার করা যেতে পারে। একটি সাধারণ scatter plot নিম্নরূপ আঁকা যেতে পারে:

In [81]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.scatterplot(x="total_bill", y="tip", data=tips)

plt.show()

The relationship between the variables can be shown for different subsets of the data using the hue, size and style parameters.

In [ ]:
 

Visualizing pairwise relationship with pairplot()

কিছু data-set এ অনেকগুলি variable থাকে। এই জাতীয় ক্ষেত্রে, প্রতিটি এবং প্রত্যেকটি পরিবর্তকের মধ্যে relation বিশ্লেষণ করা উচিত। সুতরাং, আমাদের একটি data-set এর pairwise relationships প্লট করতে হবে।

multiple pairwise bivariate distributions এর plot করতে আমরা pairplot() function টি ব্যবহার করতে পারি। এটি plot গুলির matrix এবং diagonal plots গুলির (n,2) combination হিসাবে ডেটাফ্রেমে ভেরিয়েবলের সংযোগ এর সম্পর্ক দেখায়।

উদাহরণ :

In [82]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.set_style("ticks")

sns.pairplot(tips)

plt.show()

Plotting categorical data

এতক্ষণ আমরা histogram, scatter plot এবং kde plots সম্পর্কে দেখেছি। এই সব plot ব্যবহার করে আমরা continuous variables নিয়ে analyze করতে পারি। কিন্তু এই সব polts দিয়ে categorical data analysis করা যায় না।

যখন ১টি বা ২টি variable ই categorical data হবে তখন আমরা striplot() এবং swarmplot() ব্যবহার করতে পারি।

Strip Plot

stripplot() ব্যবহার করা হয় যখন ১টি variable এর মান categorical data থাকে। stripplot() data গুলোকে যে কোন একটি axis এ sorted order এ represent করে থাকে ।

উদাহরণ :

In [83]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.stripplot(x="day", y="total_bill", data=tips)

plt.show()

আমরা jitter=True ব্যবহার করে value গুলোর distribution বাহির করতে পারি।

In [84]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)

plt.show()

Swarm Plot

'jitter' ব্যবহার না করে alternatively আমরা swarmplot() function ব্যবহার করতে পারি । এই function টি scatter plot কে categorical axis এর position এ বসিয়ে থ্যাকে তাই আমরা overlapping points কে avoids করতে পারি।

তাই বলা যায় swarmplot() ব্যবহার করে categorical scatterplot কে কোন রকম overlapping ছাড়াই তৈরি করা যায়।

উদাহরণ :

In [85]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.swarmplot(x="day", y="total_bill", data=tips)

plt.show()

Distribution of Observations

যখন কোন data-set নিয়ে কাজ করা হয় তখন প্রথমে আমাদের যে চিন্তা আসে তা, কি ভাবে variables গুলো distribution করা হয়েছে।

এই ক্ষেত্রে আমরা box plots ব্যাং violin plots ব্যবহার করতে পারি, যার দ্বারা data distribution জানতে পারা যায় ।

Box Plot

আমরা box plot ব্যবহার করে categories অনুসারে distribution draw করতে পারি। data visualize করে তার quartiles গুলোর distribution দেখার জন্য box plot সুবিধাজনক উপায়।

Box plot এ সাধারণত box গুলি থেকে প্রসারিত উল্লম্ব রেখা থাকে যা whiskers হিসাবে অভিহিত হয়।

এই whiskers গুলো variability এর upper এবং lower quartiles কে indicate করে। এই জন্য box plot কে box-এবং-whisker plot ও বলে। যে কোন outliners গুলো data কে individual points এ plot করে থাকে।

উদাহরণ এ single horizontal box-plot দেখি :

In [86]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.boxplot(x=tips["total_bill"])

plt.show()

আমরা বিভিন্ন group এ categorical variable গুলো এর vertical box-plot বানাইতে পারি।

In [87]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.boxplot(x="day", y="total_bill", data=tips)

plt.show()

Violin Plot

Violin Plot সাধারণত box plot এর সঙ্ঘে kernel density estimates এর combinations।

উদাহরণ হিসেবে একটি single horizontal violin plot দেখি :

In [88]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.violinplot(x=tips["total_bill"])

plt.show()

আমরা বিভিন্ন group এ categorical variable গুলো এর vertical violin-plot বানাইতে পারি।

In [89]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.violinplot(x="day", y="total_bill", data=tips)

plt.show()

Statistical estimation with Seaborn

কিছু সময় আমাদের central tendency of a distribution এর মান estimate করতে হয়। Mean এবং Median প্রায় ব্যবহার করা হয় central tendency of the distribution বাহির করার জন্য।

আমরা bar plot এবং point plot ব্যবহার করে central tendency of a distribution এর মান measure করতে পারি।

Bar Plot

barplot ব্যবহার করে categorical variable এবং continuous variable এর মধ্যে relation দেখতে পারা যায়। rectangular bar গুলোর length দ্বারা category গুলোর মান দেখানো হয় ।

barplot দ্বারা central tendency এর মান অনুমান করা যায় ।

উদাহরণ এ আমরা group অনুসারে categorical variable এর bar plot দেখব।

In [90]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.barplot(x="day", y="total_bill", data=tips)

plt.show()

Point Plot

Point Plots এর ব্যবহার bar plot এর মতই কিন্তু style টা different. full bar এর পরিবর্তে, estimate মানটি অন্য axis এর একটি নির্দিষ্ট উচ্চতায় বিন্দু দ্বারা উপস্থাপিত হয়। Point plot এ scatter plot glyphs গুলি ব্যবহার করে পয়েন্টের অনুমান এবং আস্থার ব্যবধানগুলি দেখায়।

আমরা একটি set of vertical point ব্যবহার করে grouped data এর categorical variable এর Point Plot বানাইতে পারি।

In [91]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.pointplot(x="time", y="total_bill", data=tips)

plt.show()

আমরা একটি set of vertical point ব্যবহার করে grouped data এর categorical একাধিক variable এর Point Plot ও বানাইতে পারি।

In [92]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips)

plt.show()

Linear relationships with Seaborn

আমরা statistical models হিসাব করার জন্য ২টি model এর মধ্যে relationship বাহির করতে পারি। এগুলিকে regression models হিসাবে আখ্যায়িত করা হয়।

regression models গুলি তৈরি করার সময় আমরা প্রায়শই বহুবিধ লাইনারিটি পরীক্ষা করে দেখি, যেখানে আমাদের অবিচ্ছিন্ন ভেরিয়েবলের সমস্ত সংমিশ্রণের মধ্যে পারস্পরিক সম্পর্ক দেখতে হয় এবং যদি correlation বিদ্যমান থাকে তবে টা দেখার জন্য প্রয়োজনীয় ব্যবস্থা গ্রহণ করতে হয়।

Seaborn এ ২টি function আছে যা ব্যবহার করে linear relationship কে visualize করা যায়। function গুলো regplot() এবং lmplot() । এছাড়া আর একটি ৩য় function residplot() যা ব্যবহার করে linear regression এর অবশিষ্টাংশ plot করা যায়।

Reg plot

regplot() function টি data plot করে এবং linear regression model fit করে। এটি x,y variables এর একটি scatterplot তৈরি করে এবং তারপর regression model y~x কে fit করে এর দ্বারা result হিসেবে ৯৫% confidence interval পাওয়া যায়।

আমরা scatterplot এবং regression line ব্যবহার করে regplot() তৈরি করতে পারি। উদাহরণ :

In [93]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.regplot(x="total_bill", y="tip", data=tips)

plt.show()

Lm plot

lmplot() function টি data plot এবং regression model fits করে FacetGrid অনুসারে। এই function টি regplot() এবং FacetGrid এর combination এ কাজ করে।

এটি কোনও Data-set এর শর্তসাপেক্ষ subsetগুলি জুড়ে regression model তৈরি করা এবং fit করার জন্য একটি সুবিধাজনক interface হিসাবে পরিচিত ।

আমরা ২টি variables এর মধ্যে simple linear relationship অনুযায়ে lmplot() তৈরি করতে পারি।

In [94]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.lmplot(x="total_bill", y="tip", data=tips)

plt.show()

regplot() এবং lmplot() function গুলো closely related, তবে regplot() একটি অক্ষ-স্তরের ফাংশন হয়, এবং lmplot() একটি চিত্র-স্তরের ফাংশন হয় ।

Resid plot

residplot() function টি অবশিষ্টাংশ এর উপর linear regression তৈরি করে।

উদাহরণ :

In [95]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.residplot(x="total_bill", y="tip", data=tips)

plt.show()

Matrix plots with Seaborn

Seaborn এ ২টি function আছে যে গুলো plot এ matrix view করতে পারে। এগুলো heat map এবং cluster map

Heat map

Seaborn এর heatmap() function ব্যবহার করে rectangular data এর multi color-encoded matrix কে plot করা যায় ।

উদাহরণ হিসেবে numpy array এর একটি heatmap plot তৈরি করি।

In [96]:
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

uniform_data = np.random.rand(10, 12)

sns.heatmap(uniform_data)

plt.show()

Cluster map

Seaborn এর clustermap() function টি একটি matrix dataset কে hierarchically-clustered heatmap এর plot বানিয়ে থাকে।

উদাহরণ হিসেবে আমরা tips data-set ব্যবহার করে clustered heatmap এর একটি plot তৈরি করি ।

In [97]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

df1 = tips[['total_bill', 'tip', 'size']]
sns.clustermap(df1)

plt.show()

Multi-plot grids with Seaborn

যখন medium-dimensional data কে exploring করা হয় তখন বিভিন্ন sub-set এর একই plot এর multiple instance তৈরি করে visual করা বেশি কার্যকর। এই technique কে অনেকসময় “lattice”, অথবা “trellis” plotting ও বলে। এটি ব্যবহার করে multiple instances কে same plot এ draw করা যায়। এটি আমাদের complex data থেকে অনেক দ্রুত information পাইতে সাহায্য করে।

Seaborn ৩ ধরনের grids কে provide করে। facet grid, pair grid এবং joint grid দিয়ে থাকে যার দ্বারা multiple instances কে same plot এ draw করা যায়।

Facet Grid

Seaborn এর Facetgrid() function এর দ্বারা multi-plot grid কে conditional relationships এর দ্বারা একই plot এ দেখানো যায়।

1st আমরা 2x2 grid এর facets কে initialize করি ।

In [98]:
!jt -l
Available Themes: 
   chesterish
   grade3
   gruvboxd
   gruvboxl
   monokai
   oceans16
   onedork
   solarizedd
   solarizedl
In [ ]:
 
In [99]:
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

sns.FacetGrid(tips, col="time", row="smoker")

plt.show()

grid টি matplotlib figure এবং axes এর উপর set করা হয়েছে , কিন্তু কিছু draw করা হয় নাই।

FacetGrid.map() method এর উপর data visualization করা main approach তাই আমাদের plotting function এবং variable এর নাম দিতে হবে।

নিম্নের মত আমরা প্রতিটি facet এর উপর univariate plot তৈরি করতে পারি।

In [100]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

g = sns.FacetGrid(tips, col="time",  row="smoker")

g = g.map(plt.hist, "total_bill")

plt.show()

Pair Grid

PairGrid() function টি subplot grid তৈরির দ্বারা data-set এর pairwise relationships তৈরি করে ।

PairGrid() function ব্যবহার করে scatterplot এর pairwise relationship গুলো draw করা যায়।

In [101]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

g = sns.PairGrid(tips)

g = g.map(plt.scatter)

plt.show()

আমরা diagonaly , univariate distribution দেখাইতে পারি।

In [102]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

g = sns.PairGrid(tips)

g = g.map_diag(plt.hist)

g = g.map_offdiag(plt.scatter)

Joint Grid

Seaborn এর JointGrid() function grid of subplots দেখাইতে সাহায্য করে।

নিম্নে আমরা ফিগুরে initialize করব কিন্তু কোন plots draw করব না।

In [103]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

g = sns.JointGrid(x="total_bill", y="tip", data=tips)

নিচের মত আমরা default parameters ব্যবহার করে plots তৈরি করতে পারি ।

In [104]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# load data
tips = sns.load_dataset('tips')

g = sns.JointGrid(x="total_bill", y="tip", data=tips)

g = g.plot(sns.regplot, sns.distplot)
In [ ]: