from plotnine import (
ggplot,
aes,
theme_matplotlib,
theme_set,
geom_tile,
scale_fill_continuous,
coord_cartesian
)
from plotnine.data import faithfuld
# Set default theme for all the plots
theme_set(theme_matplotlib())Simple heatmap
In [1]:
Map data to color gradient
Without specifically calling scale_fill_continuous(), a default scale is applied to geom_tile().
In [2]:
faithfuld.head()| eruptions | waiting | density | |
|---|---|---|---|
| 0 | 1.600000 | 43.0 | 0.003216 |
| 1 | 1.647297 | 43.0 | 0.003835 |
| 2 | 1.694595 | 43.0 | 0.004436 |
| 3 | 1.741892 | 43.0 | 0.004978 |
| 4 | 1.789189 | 43.0 | 0.005424 |
In [3]:
(
ggplot(faithfuld, aes("waiting", "eruptions", fill="density"))
+ geom_tile()
)
Notice that adding scale_fill_continuous() will not change the default plot.
In [4]:
(
ggplot(faithfuld, aes("waiting", "eruptions", fill="density"))
+ geom_tile()
+ scale_fill_continuous()
)
The scale aesthetics can be edited to other color maps. Use the cmap_name argument to specify an alternative palette. Find other available color maps in the matplotlib documentation.
In [5]:
# Gallery, tiles
(
ggplot(faithfuld, aes("waiting", "eruptions", fill="density"))
+ geom_tile()
+ scale_fill_continuous(cmap_name="plasma")
+ coord_cartesian(expand=False)
)