Seaborn scatter plot

Seaborn scatter plot DEFAULT

Hey, folks! In the series of Data Visualization with Seaborn, will be focusing on Seaborn Scatter Plots for data visualization.

What is a Scatter Plot?

Scatter Plot represents the relationship between two continuous values, respectively. It depicts how one data variable gets affected by the other data variable in every fraction of the value of the data set.

So, now let us start with plotting Scatter Plots using the Seaborn Library.

We will be using the below data set through out the article for data input.

MTCARS Dataset

Getting started with Seaborn Scatter Plot

Before moving ahead with the plotting, we need to install the Seaborn Library using the below command:

After having installed the library, we need to import the library into the Python environment to load the functions and plot the data to visualize it using the below command:

Creating a Scatter Plot

The is used to plot the data and depict the relationship between the values using the scatter visualization.


  • : Data variable that needs to be plotted on the x-axis.
  • : The data variable to be plotted on the y-axis.
  • : The pointer variable wherein the entire data is stored.

Example 1:

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt Year = [1,3,5,2,12,5,65,12,4,76,45,23,98,67,32,12,90] Profit = [80, 75.8, 74, 65, 99.5, 19, 33.6,23,45,12,86,34,567,21,80,34,54] data_plot = pd.DataFrame({"Year":Year, "Profit":Profit}) sns.scatterplot(x = "Year", y = "Profit", data=data_plot)

In the above example, we have plotted the relationship between the ‘Year’ and ‘Profit’ using the scatter plot. Moreover, we have used the function to present the data in a proper plot format.


Scatter Plot Example 1

Example 2:

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec",data=data) sns.set(style='darkgrid',)

In the above example, we have represented the relationship between two data columns of a data set passed to the function as a parameter.


Scatter Plot Example 2

Grouping variables in Seaborn Scatter Plot

As seen above, a scatter plot depicts the relationship between two factors. We can further depict the relationship between multiple data variables i.e. how does the variation in one data variable affects the representation of the other data variables on a whole plot.

In the upcoming section, will be having a look at the below ways through which we can depict the multivariable relatiopnship–

1. Using the parameter ‘hue’

The parameter can be used to group the multiple data variables and show dependency between them in terms of different colors of the markers used to plot the data values.


  • : The data parameter around which the dependency of the passed data values are to be plotted.


import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec",data=data, hue='am') sns.set(style='whitegrid',)

In the above example, we have plotted the dependency between ‘drat‘ and ‘qsec‘ data variables against the data variable ‘am‘ of the dataset. The data variable is a categorical variable i.e. the data values lies between 0-1. Thus using hue, the two data values 0 and 1 of variable am are represented using two different colours.


Scatter Plot-hue

2. The parameter ‘style’

Using as a parameter, we can depict the relationship between multiple data variables and their dependency using different types of scatter icons used to depict the data values.


  • : The data parameter which acts as a reference to plot the multivariable relationship.


import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec",data=data, hue='am',style='am') sns.set(style='whitegrid',)

In the above example, the different pattern of plots like ‘o‘ and ‘x‘ helps depict the dependency between x, y-axis variables keeping ‘am’ variable as a reference.


Scatter Plot - style

3. Using parameter ‘size’

The parameter produces the plot in such a manner that the dependency and relationship between the multiple plots is depicted using scatter patterns of different sizes.




import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec",data=data,size='am',hue='am') sns.set(style='whitegrid',)

As seen clearly, the scatter markers of different size help depict the relationship between the data values passed to it as parameter, as a reference.


Scatter Plot - size

Seaborn Scatter Plot using “palette” parameter

We can visualize the data in a better manner using Seaborn palette. The inclusion of parameter helps us represent the data with different Seaborn colormap values.

Various palette colors available in the Seaborn colormap which help plot the data values.

Example 1:

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec",data=data,size='am',hue='am',palette='Spectral') sns.set(style='whitegrid',)

In the above example, we have made use of the palette ‘Spectral‘ to visualize the data.


Scatter Plot-palette

Example 2:

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec",data=data,size='am',hue='am',palette='hot') sns.set(style='whitegrid',)

In this example, we have used the palette ‘hot‘ along with size parameter to depict different colormap along with size of the scatter markers.


Scatter Plot palette 1

Visualizing the Scatter Plot using ‘marker’

The are the scatter patterns that are used to represent the data values. Using markers can help add value to the plot in terms of graphics and visualization.


  • : The list representing the marker designs we want to be inculcated in the plot.


import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("C:/mtcars.csv") sns.scatterplot(x = "drat", y = "qsec", data=data, hue='am', style='am', markers=['*', 'o'], palette='hot') sns.set(style='dark',)


Scatter Plot marker

Seaborn Scatter Plot at a Glance!

Thus, in this article, we have understood the actual meaning of scatter plot i.e. depicting the dependency between the data variables. Moreover, we can make use of various parameters such as ‘hue‘, ‘palette‘, ‘style‘, ‘size‘ and ‘markers‘ to enhance the plot and avail a much better pictorial representation of the plot.

Important Note: The Seaborn library and its functions are completely build upon the Matplotlib library. Thus, I recommended you to go through the Python Matplotlib tutorial.


Thus, we have understood and implemented Seaborn Scatter Plots in Python.

I strongly recommend you to go through the Seaborn tutorial to have a better understanding about the topic.



7 Points to Create Better Scatter Plots with Seaborn

Data visualization is of crucial importance in data science. It helps us explore the underlying structure within a dataset as well as the relationships between variables. We can also use data visualization techniques to report our findings more effectively.

How we deliver a message through data visualization is also important. We can make the plots more informative or appealing by small adjustments. Data visualization libraries provide several parameters to customize the generated plots.

In this article, we will goover 7 points to customize a scatter plotin Seaborn library. Scatter plots are mainly used to visualize the relationship between two continuous variables. They provide an overview of the correlation between the variables.

We will be creating several scatter plots using the Melbourne housing dataset available on Kaggle. Let’s first import the libraries.

import numpy as np
import pandas as pd
import seaborn as sns

The next step is to read the dataset into a Pandas dataframe.

cols = ['Price','Distance','Rooms','Type','Landsize','Regionname']melb = pd.read_csv("/content/melb_data.csv",
usecols=cols).sample(n=300)melb = melb[melb.Landsize < 3000]

I have only selected a small sample from the dataset and also included only 6 columns. The last line filters out the rows which can be considered as outliers with regards to the land size.

We will be using the relplot function of Seaborn. It is a figure-level interface for drawing two different relational plots which are scatter and line. The type of plot is selected using the kind parameter.

Let’s create a simple scatter plot of the price and distance columns with the default settings. We can then go over some tips to make the scatter plots more informative and appealing.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter')

The distance column indicates the distance to the central business district (CBD). Each dot represents an observation (i.e. a house). We observe a negative correlation between the price and distance to CBD.

1. Adjusting the size

The size of a visualization is an important feature which should be easily customized. The height and aspect parameters of the relplot function are used to change the size of a visualization. The aspect parameter represents the ratio of the width and height.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter',
height=6, aspect=1.2)

2. Separating categories with hue

It can be more informative to represent different categories in a column separately. For instance, we can distinguish house types by using a different color for each type. Such tasks can be done with the hue parameter.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter',
height=6, aspect=1.2, hue='Type')

We clearly see that the housed with u (unit) type are closer to CDB and cheaper in general. The t (townhouse) type is kind of in the middle. As we move away from the CBD, the houses get more expensive and larger.

3. Separating categories with row or col

We can also use multiple subplots to separate different categories. The col parameter is used to represent each category as a new column. Similarly, the row parameter does the same using rows.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter',
height=4, aspect=1.5, col='Type')

4. Size of dots

Scatter plots represent data points (i.e. rows) with dots. We can use the size of dots to deliver information as well. For instance, the rooms column is passed to the size parameter, the size of a dot becomes proportional to the number of rooms in a house.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter',
height=6, aspect=1.2, size='Rooms')

The general trend is to have larger houses as we move away from the CDB. It makes sense because the space becomes more of a concern in the city centre.

5. Color

The colors are essential pieces of visualizations. In a scatter plot, we have two options to change the color of dots. If hue parameter is used, we pass a palette to change the colors.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter',
height=6, aspect=1.2, hue='Type', palette='cool')

Without the hue parameter, we can simply use the color parameter to choose the desired color for the dots.

sns.relplot(data=melb, x='Price', y='Distance', kind='scatter',
height=6, aspect=1.2, color='orange')

6. Pairwise relationships

The pairplot function of Seaborn can be used to generate a grid of scatter plots to explore the pairwise relationships between variables. By default, it includes all the numerical variables. However, we can change it by selecting only the columns of interest.

sns.pairplot(melb[['Price','Distance','Landsize']], height=3)

It is important to note that the height parameter of the pairplot function adjusts the size of the subplots, not the entire grid.

Each subplot except for the ones on the diagonal represents the relationship between the columns indicated on the x-axis and y-axis. By default, the subplots on the diagonal show the histogram of columns. We can change the type of plot drawn on the diagonal by using the diag_kind parameter.

Histograms are mainly used to check the distribution of a continuous variable. It divides the value range into discrete bins and shows the number of data points (i.e. rows) in each bin.

7. Customizing the pairplot

The pairplot function can also be customized to carry more information. For instance, we can add a hue variable just like we have done with the relplot function.

sns.pairplot(melb[['Price','Distance','Landsize','Type']], hue='Type', height=3)

When the hue parameter is used, the plots on the diagonal automatically become kernel density estimate (kde).

We have covered 7 tips for making the scatter plots with Seaborn more informative and appealing. There are other techniques to further customize these visualizations but the 7 tips in this article will be enough in most cases.

Data visualizations are highly important in data science. They are not only helpful for reporting and delivering results but also a powerful tool for data analysis.

In order to make most out of data visualization, we need to go beyond the default settings of a function or library in some cases. Therefore, we should learn how to customize or adjust them.

Thank you reading. Please let me know if you have any feedback.

  1. Ccs custom grip
  2. Unity 2d physics
  3. Slash tattoo ideas
  4. Planet fitness gym
  5. Hd texture wallpaper

Seaborn Scatter Plot

Seaborn Scatter Plot

Introduction to Seaborn Scatter Plot

The following article provides an outline for Seaborn Scatter Plot. A scatter plot is a simple way of displaying the number of clusters in the graph. A scatter plot indicates the relationship between number of clusters that are closer together than the other clusters. Scatter plot is a data visualization technique that is used to display the relationships between attributes.

Creating Seaborn Scatter Plot

A scatter plot is a visualization method used for to compare the values of the two variables with respect to some criterion. The scatter plot includes several different values. Each dot in the scatter plot represents one occurrence (or measurement) of a data item in the data set in which the data is being analyzed. This is because a scatter plot represents the total number of occurrences (or measurements) divided by the total number of attributes (or measurements).

Seaborn is built on top of Python’s core visualization library Matplotlib. It allows developers to plot a graphical visualization using Python’s plotting language, and the code includes a tool to load it into R or Matplotlib. You can also use the data to understand how data is used, to understand your analytics project’s business or to gain a deep understanding of the different ways customers generate data. You can start by exploring the data using Pandas.

We have created multiple scatter plots using the seaborn library with different data sets.

Example #1



Seaborn Scatter Plot 1

In the above example we have loaded the iris data set which represents the iris flower’s physical characteristics such as its sepal length, sepal width, petal length and petal width for three different species of the iris flower. We have created a scatter plot using seaborn sns.scatterplot with plotting the petal length of the given three species of the iris flower from the data set. We can see the significant difference between the petal length of the three species of the flowers where the petal length of setosa species is considerably smaller than the petal length of the other two species.

Example #2



Seaborn Scatter Plot 2

In this example we have plotted the scatter plot of two features of the iris flower namely sepal width and sepal length. Here we can see there is a wide range of points distributed along the x and y axis. For identifying individual data points of three different species we can use an attribute ‘hue’ from the seaborn library where it differentiate the categorical variable by applying different colors to them for identifying the characteristics of individual variable.

Example #3



Seaborn Scatter Plot 3

In the above example we have used a feature in seaborn scatterplot known as ‘hue’ which allows us to plot categories from a variable of the bar plot. We can use this feature to plot the categories inside the categorical variable. We have plotted the relationship between the sepal length and sepal width of different species of the flowers. Hue parameter allows us to individually plot the categorical values in separate colors.

Example #4



using the palette parameter

In the above example we have plotted the scatterplot with unique color palette using the palette parameter. This parameter allows us to plot the categorical variable in an increasing color tone where the categories are represented form lighter to a darker tone in ascending order of the numerically greater aggregate variable. Here virginica species has greater petal length compared to the rest of the species so it is represented in the darkest tone while days that received correspondingly lesser petal length species are represented in consequent lighter tones.

Example #5



plotted the sepal width in x-axis and petal length in y-axis

In this example we have plotted the sepal width in x-axis and petal length in y-axis for the three different species of the iris flowers. We have used a special attribute known as “sizes” to differentiate the scatter points or bubbles according to the sepal length of different species. Here we can see that the scatter points or the bubbles plotted would vary from larger to smaller in size according to the sepal length of the species. By giving the sizes attribute we can able to clearly identify the differentiation between the variables using a single feature or characteristic. The corresponding sizes of the sepal length is also shown in the legend section of the scatter plot.

Example #6



design to our desired shapes

We can also change the scatter point design to our desired shapes by using the attribute “marker”. In the market attribute we can give the shape of the scatter points we wanted in the example we have used “x” mark to mark the points. Also another attribute known as “alpha” is used to show the Proportional opacity of the different points.

Seaborn comes with some very important features. First, the framework offers a very lightweight framework for building and developing distributed applications and infrastructure. Its power comes from the large number of modules, which are easy to maintain and use. Second, the package is very large, mainly based on python modules which are very widely used and widely tested. Finally, the package also supports writing the code in different programming languages (such as C, C#, Java, Python, PHP, and R).


In this article we saw about the seaborn bar plot with various examples. We have plotted various bar plots using seaborn library and numpy library and demonstrated different attributes and parameters to the barplot function. Seaborn is an open source library used in python programming language. It provides high quality API for data visualization. It consists of modules representing data streams, operations and data manipulation. Seaborn library along with Matplotlib is widely used around the data science community.

Recommended Articles

This is a guide to Seaborn Scatter Plot. Here we discuss the introduction and creating seaborn scatter plot respectively. You may also have a look at the following articles to learn more –

  1. Python List extend
  2. Python Array Length
  3. Python IndexError
  4. Python Initialize List


Seaborn is one of the most widely used data visualization libraries in Python, as an extension to Matplotlib. It offers a simple, intuitive, yet highly customizable API for data visualization.

In this tutorial, we'll take a look at how to plot a scatter plot in Seaborn. We'll cover simple scatter plots, multiple scatter plots with FacetGrid as well as 3D scatter plots.

Import Data

We'll use the World Happiness dataset, and compare the Happiness Score against varying features to see what influences perceived happiness in the world:

Plot a Scatter Plot in Seaborn

Now, with the dataset loaded, let's import PyPlot, which we'll use to show the graph, as well as Seaborn. We'll plot the Happiness Score against the country's Economy (GDP per Capita):

Seaborn makes it really easy to plot basic graphs like scatter plots. We don't need to fiddle with the object, instances or set anything up, although, we can if we want to. Here, we've supplied the as the argument, and provided the features we want to visualize as the and arguments.

These have to match the data present in the dataset and the default labels will be their names. We'll customize this in a later section.

Now, if we run this code, we're greeted with:

Here, there's a strong positive correlation between the economy (GDP per capita) and the perceived happiness of the inhabitants of a country/region.

Plotting Multiple Scatter Plots in Seaborn with FacetGrid

If you'd like to compare more than one variable against another, such as - the average life expectancy, as well as the happiness score against the economy, or any variation of this, there's no need to create a 3D plot for this.

While 2D plots that visualize correlations between more than two variables exist, some of them aren't fully beginner friendly.

Seaborn allows us to construct a object, which we can use to facet the data and construct multiple, related plots, one next to the other.

Let's take a look at how to do that:

Here, we've created a , passing our data () to it. By specifying the argument as , we've told Seaborn that we'd like to facet the data into regions and plot a scatter plot for each region in the dataset.

We've also assigned the to depend on the region, so each region has a different color. Finally, we've set the argument to so that the entire figure isn't too wide - it breaks on every 5 columns into a new row.

To this object, we our arguments. Specifically, we specified a as the type of plot we'd like, as well as the and variables we want to plot in these scatter plots.

This results in 10 different scatter plots, each with the related and data, separated by region.

We've also added a legend in the end, to help identify the colors.

Plotting a 3D Scatter Plot in Seaborn

Seaborn doesn't come with any built-in 3D functionality, unfortunately. It's an extension of Matplotlib and relies on it for the heavy lifting in 3D. Though, we can style the 3D Matplotlib plot, using Seaborn.

Let's set the style using Seaborn, and visualize a 3D scatter plot between happiness, economy and health:

Check out our hands-on, practical guide to learning Git, with best-practices, industry-accepted standards, and included cheat sheet. Stop Googling Git commands and actually learn it!

Running this code results in an interactive 3D visualization that we can pan and inspect in three-dimensional space, styled as a Seaborn plot:

Customizing Scatter Plots in Seaborn

Using Seaborn, it's easy to customize various elements of the plots you make. For example, you can set the and of each marker on a scatter plot.

Let's change some of the options and see how the plot looks like when altered:

Here, we've set the to which means that data from different regions will have different colors. Also, we've set the to be proportional to the Freedom feature. The higher the freedom factor is, the larger the dots are:

Or you can set a fixed size for all markers, as well as a color:


In this tutorial, we've gone over several ways to plot a scatter plot using Seaborn and Python.

If you're interested in Data Visualization and don't know where to start, make sure to check out our bundle of books on Data Visualization in Python:

Data Visualization in Python with Matplotlib and Pandas is a book designed to take absolute beginners to Pandas and Matplotlib, with basic Python knowledge, and allow them to build a strong foundation for advanced work with theses libraries - from simple plots to animated 3D plots with interactive buttons.

It serves as an in-depth, guide that'll teach you everything you need to know about Pandas and Matplotlib, including how to construct plot types that aren't built into the library itself.

Data Visualization in Python, a book for beginner to intermediate Python developers, guides you through simple data manipulation with Pandas, cover core plotting libraries like Matplotlib and Seaborn, and show you how to take advantage of declarative and experimental libraries like Altair. More specifically, over the span of 11 chapters this book covers 9 Python libraries: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas, and VisPy.

It serves as a unique, practical guide to Data Visualization, in a plethora of tools you might use in your career.


Scatter plot seaborn

Scatterplot using Seaborn in Python

Seaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on the top of matplotlib library and also closely integrated into the data structures from pandas.

Scatter Plot

Scatterplot can be used with several semantic groupings which can help to understand well in a graph. They can plot two-dimensional graphics that can be enhanced by mapping up to three additional variables while using the semantics of hue, size, and style parameters. All the parameter control visual semantic which are used to identify the different subsets. Using redundant semantics can be helpful for making graphics more accessible.

 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

Syntax: seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=True, style_order=None, x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, alpha=’auto’, x_jitter=None, y_jitter=None, legend=’brief’, ax=None, **kwargs)
x, y: Input data variables that should be numeric.

data: Dataframe where each column is a variable and each row is an observation.

size: Grouping variable that will produce points with different sizes.

style: Grouping variable that will produce points with different markers.  

palette: Grouping variable that will produce points with different markers.  

markers: Object determining how to draw the markers for different levels.

alpha: Proportional opacity of the points.

Returns: This method returns the Axes object with the plot drawn onto it.

Creating a Scatter Plot

Let’s visualize of “fmri” dataset using seaborn.scatterplot() function. We will only use the x, y parameters of the function.







Grouping data points on the basis of category, here as region and event.






Basic visualization of “tips” dataset using Scatterplot.






Grouping variables in Seaborn Scatter Plot with different attributes

1. Adding the marker attributes

The circle is used to represent the data point and the default marker here is a blue circle. In the above output, we are seeing the default output for the marker, but we can customize this blue circle with marker attributes.



2. Adding the hue attributes. 

It will produce data points with different colors. Hue can be used to group to multiple data variable and show the dependency of the passed data values are to be plotted.

Syntax: seaborn.scatterplot( x, y, data, hue)



In the above example, we can see how the tip and day bill is related to whether it was lunchtime or dinner time. The blue color has represented the Dinner and the orange color represents the Lunch.

Let’s check for a hue = ” day “


3. Adding the style attributes.

Grouping variable that will produce points with different markers. Using style we can generate the scatter grouping variable that will produce points with different markers.


seaborn.scatterplot( x, y, data, style)



4. Adding the palette attributes.

Using the palette we can generate the point with different colors. In this below example we can see the palette can be responsible for a generate the scatter plot with different colormap values.


seaborn.scatterplot( x, y, data, palette=”color_name”)



5. Adding size attributes.

Using size we can generate the point and we can produce points with different sizes.


seaborn.scatterplot( x, y, data, size)



6. Adding legend attributes.

.Using the legend parameter we can turn on (legend=full) and we can also turn off the legend using (legend = False).

If the legend is “brief”, numeric hue and size variables will be represented with a sample of evenly spaced values.

If the legend is “full”, every group will get an entry in the legend.

If False, no legend data is added and no legend is drawn.

Syntax: seaborn.scatterplot( x, y, data, legend=”brief)



7. Adding alpha attributes.

Using alpha we can control proportional opacity of the points. We can decrease and increase the opacity.

Syntax: seaborn.scatterplot( x, y, data, alpha=”0.2″)




Creating Scatter plots with Python using Seaborn

The two of them went limp for. A few seconds. At this time, Larissa got up and chatted with her penis.

You will also be interested:

He kissed my lips, gently caressing his tongue and smacking his lips. From my lips, he gently moved to my neck, while undressing me. His hand was large and strong, but at the same time very gentle, it glided over my velvety skin, taking off my.

292 293 294 295 296