Python Plotnine – Scatter plot with regression

In this post we will be creating a Python script that will generate a scatter plot with a regression line, to do this we will be using the plotnine package which is an implementation of a grammar of graphics in Python.

See the sample of Python code below where we utilize the plotnine package to generate a scatter plot, for the purpose of this example we use pandas to create a DataFrame and generate dummy data for our X and Y axis. We then move on to create our scatter plot and add a regression line. To display the plot we use the ‘display’ function from the ‘IPython.display’ module.

import pandas as pd
from plotnine import *
from IPython.display import display


df = pd.DataFrame({'x': range(10), 'y': range(10)})

plot = (ggplot(df)
        + aes(x='x', y='y')
        + geom_point()
        + geom_smooth(method='lm')
       )

display(plot)

The above would return the following plot to output.

Take a look at some of our other content around the Python programming language by clicking here.

Leave a Reply