Basic Scatterplot with Seaborn

logo of a chart:ScatterPlot

A scatterplot is a type of chart that shows the relationship between two numerical variables. Each member of the dataset gets plotted as a point whose x-y coordinates relates to its values for the two variables.

This example shows how to create a scatterplot with seaborn and how to add a regression line.

Libraries

First, we need to load a few libraries:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

Dataset

Since scatter plot are made for visualizing relationships between two numerical variables, we need a dataset that contains at least two numerical columns.

Here, we will use the iris dataset that we load directly from the gallery:

path = 'https://raw.githubusercontent.com/holtzy/The-Python-Graph-Gallery/master/static/data/iris.csv'
df = pd.read_csv(path)
df.head()
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa

Scatter plot

A scatterplot can be made using scatterplot() function of seaborn library. An example dataset from seaborn repository, iris dataset, is used in the example. The plot shows the relationship between sepal lenght and width of plants. In order to show the most basic utilization of this function, the following parameters should be provided:

  • x : positions of points on the X axis
  • y : positions of points on the Y axis
sns.scatterplot(x=df["sepal_length"], y=df["sepal_width"])
plt.show()

Alternatively: you can use the following syntax:

sns.scatterplot(data=df, x="sepal_length", y="sepal_width")
plt.show()

Customize the scatter plot

The scatterplot() function accepts the following arguments (among others):

  • color: of the points
  • edgecolor : edge colour of the points
  • alpha : transparency of points (between 0 and 1)
  • s: dot size

You can find all the available colors here.

sns.scatterplot(
    x=df["sepal_length"],
    y=df["sepal_width"],
    color="red",
    edgecolor="darkred",
    alpha=0.6,
    s=200
)
plt.show()

Going further

This post explains how to create a scatterplot with seaborn.

You might be interested in more advanced examples on

Contact & Edit


👋 This document is a work by Yan Holtz. You can contribute on github, send me a feedback on twitter or subscribe to the newsletter to know when new examples are published! 🔥

This page is just a jupyter notebook, you can edit it here. Please help me making this website better 🙏!