dayplot
A simple-to-use Python library to build calendar heatmaps with ease. It's built on top of matplotlib and leverages it to access high customization possibilities.
Examples
import matplotlib.pyplot as plt
import dayplot as dp
df = dp.load_dataset()
# add negative values at some random dates
df.loc[df.sample(n=40, replace=False).index, "values"] *= -1
fig, ax = plt.subplots(figsize=(16, 4))
dp.calendar(
dates=df["dates"],
values=df["values"],
cmap="RdBu", # use a diverging colormap (red -> white -> blue)
start_date="2024-01-01",
end_date="2024-12-31",
ax=ax,
)
import matplotlib.pyplot as plt
import dayplot as dp
df = dp.load_dataset()
fig, ax = plt.subplots(figsize=(15, 6))
dp.calendar(
df["dates"],
df["values"],
start_date="2024-01-01",
end_date="2024-12-31",
color_for_none="#bcbcbc",
edgecolor="white",
edgewidth=0.4,
cmap="OrRd",
day_kws={"color": "white"},
month_kws={"color": "white"},
ax=ax,
)
fig.set_facecolor("#2a2929")
ax.set_facecolor("#2a2929")
You can find more examples in the Gallery.
Installation
Advanced usage
dayplot
is designed to fit any matplotlib graph, allowing you to do things like: