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_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa

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

Basic Scatterplot with Seaborn: Scatter plot

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

Alternatively: you can use the following syntax:

Basic Scatterplot with Seaborn: Scatter plot (2)

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.

Basic Scatterplot with Seaborn: Customize the scatter plot

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