import pandas as pd
from plotnine import *Dataset
Since scatter plot is a type of chart that displays values for two numerical variables for a set of data, we will load the iris dataset:
url = 'https://raw.githubusercontent.com/holtzy/The-Python-Graph-Gallery/master/static/data/iris.csv'
df = pd.read_csv(url)Default theme
The plotnine default theme is the same as the ggplot2 default theme in R:
(
ggplot(df, aes(x='sepal_length', y='sepal_width')) +
geom_point()
)White background theme
There are various theme with white background in plotnine.
Here is an example of the theme_minimal() theme:
(
ggplot(df, aes(x='sepal_length', y='sepal_width')) +
geom_point() +
theme_minimal()
)Dark background theme
If you're looking for a dark background theme, you can use the theme_dark() theme:
(
ggplot(df, aes(x='sepal_length', y='sepal_width')) +
geom_point() +
theme_dark()
)Empty theme
If you want to remove all the elements of the theme, you can use the theme_void() theme:
(
ggplot(df, aes(x='sepal_length', y='sepal_width')) +
geom_point() +
theme_void()
)Themes with grid
If you want to add a grid to your plot, you can use the theme_classic() theme:
(
ggplot(df, aes(x='sepal_length', y='sepal_width')) +
geom_point() +
theme_classic()
)Theme with full grid
If you want to add a full grid to your plot, you can use the theme_bw() theme:
(
ggplot(df, aes(x='sepal_length', y='sepal_width')) +
geom_point() +
theme_bw()
)Going further
This article explains how to change theme in a plot made with plotnine.
If you want to go further, you can also check this introduction to scatter plot with plotnine






