Related Articles

# Visualizing Relationship between variables with scatter plots in Seaborn

• Last Updated : 29 Aug, 2020

To understand how variables in a dataset are related to one another and how that relationship is dependent on other variables, we perform statistical analysis. This Statistical analysis helps to visualize the trends and identify various patterns in the dataset. One of the functions which can be used to get the relationship between two variables in Seaborn is `relplot()`.

Relplot() combines FacetGrid with either of the two axes-level functions scatterplot() and lineplot(). Scatterplot is default kind of relplot(). Using this we can visualize joint distribution of two variables through a cloud of points. We can draw scatterplot in seaborn using various ways. The most common one is when both the variables are numeric.

Example: Let’s take an example of a dataset that consists a data of CO2 emissions of different vehicles. To get the dataset click here.

 `# import libraries``import` `pandas as pd``import` `numpy as np``import` `matplotlib.pyplot as plt``import` `seaborn as sns`` ` `# set grid style``sns.``set``(style ``=``"darkgrid"``)`` ` `# import dataset``dataset ``=` `pd.read_csv(``'FuelConsumption.csv'``)`

Let’s plot the basic scatterplot for visualizing the relation between the target variable “CO2EMISSIOnS” and “ENGINE SIZE”

 `sns.relplot(x ``=``"ENGINESIZE"``, y ``=``"CO2EMISSIONS"``,``            ``data ``=` `dataset);`

Output: We can add visualize one more variable by adding another dimension to the plot. This can be done by using “hue”, which colors the points of the third variable, thus adding a meaning to it.

 `sns.relplot(x ``=``"ENGINESIZE"``, y ``=``"CO2EMISSIONS"``, ``            ``hue ``=``"FUELTYPE"``, data ``=` `dataset);`

Output: To highlight the different classes, we can add marker styles

 `sns.relplot(x ``=``"ENGINESIZE"``, y ``=``"CO2EMISSIONS"``,``            ``hue ``=``"FUELTYPE"``, style ``=``"FUELTYPE"``, ``            ``data ``=` `dataset);`

Output: In the previous example, hue semantic was for a categorical variable, so it had a default qualitative palette. But if we use a numerical variable instead of categorical, then the default palette used is sequential, which can be modified too.

 `sns.relplot(x ``=``"ENGINESIZE"``, y ``=``"CO2EMISSIONS"``,``            ``hue ``=``"CYLINDERS"``, data ``=` `dataset);`

Output: We can also change the size of points for the third variable.

 `sns.relplot(x ``=``"ENGINESIZE"``, y ``=``"CO2EMISSIONS"``, ``            ``size ``=``"CYLINDERS"``, data ``=` `dataset);`

Output: Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up