Calendar heatmaps from Pandas time series data
Project description
Calplot creates heatmaps from Pandas time series data.
Plot Pandas time series data sampled by day in a heatmap per calendar year, similar to GitHub’s contributions plot, using matplotlib.
Installation
To install the latest release via PyPI using pip:
pip install calplot
Usage
See the documentation.
import calplot
import numpy as np; np.random.seed(sum(map(ord, 'calplot')))
import pandas as pd
all_days = pd.date_range('1/1/2019', periods=730, freq='D')
days = np.random.choice(all_days, 500)
events = pd.Series(np.random.randn(len(days)), index=days)
calplot.calplot(events)
all_days = pd.date_range('1/1/2019', periods=360, freq='D')
days = np.random.choice(all_days, 500)
events = pd.Series(np.random.randn(len(days)), index=days)
calplot.calplot(events, edgecolor=None, cmap='YlGn')
calplot.calplot(events, yearcolor=black, cmap='YlGn')
calplot.calplot(events, textformat='{:.0f}', textfiller='-', cmap='YlGn')
calplot.calplot(events, dropzero=False, cmap='YlGn')
calplot.calplot(events, colorbar=False, suptitle='Random data from standard normal distribution', cmap='YlGn')
calplot.calplot(events, linewidth=0, cmap='YlGn')
Changelog
Package calplot is a fork of calmap 0.0.7-dev with the following changes and additions.
Todo
Adding argument
startday
for functioncalplot
andyearplot
to specify the index representing the day of week of the first day in each week in the generated plot. Defaults to 0, which represents Monday. (Implementation of this require non-trivial change to existing code that is inherited from calmap or taken from other projects, including code for pivoting of by_days DataFrame, and for calculation of polygon coordinates for month borders, in addition to new code to handle the ordering of items indaylabels
list.)
Since version 0.1.6 (Dec 2020):
Added argument
textformat
for functioncalplot
andyearplot
to specify the text format string for grid cell text. Defaults to empty string. Note that text plotting is turned off by setting the argument to empty string.Added argument
textfiller
for functioncalplot
andyearplot
to specify the fallback text for grid cell text. Defaults to empty string.Added argument
textcolor
for functioncalplot
andyearplot
to specify the text color for grid cell text. Defaults toblack
.
Since version 0.1.5 (Dec 2020):
Added argument
edgecolor
for functioncalplot
andyearplot
to specify color of seperation lines between months. Defaults togray
. Note that lines can be turned off by setting the argument toNone
without quotes.
Since version 0.1.3 (Aug 2020):
Removed legacy code for compatibility to fix a FutureWarning in
yearplot
. Note thatpandas>=1.1
is now required to install the package.
Since version 0.1.2 (Jan 2020):
Added argument
dropzero
for functioncalplot
andyearplot
to specify whether to not fill a cell with a color for days with a zero value. Defaults toTrue
.
Since version 0.1.1 (Jan 2020):
Renamed function
calendarplot
tocalplot
.Added argument
colorbar
for functioncalplot
to display a colorbar to the right of the heatmap if more than one unique values in plot. Defaults toTrue
.Added argument
figsize
for functioncalplot
. Defaults to a tighter layout automatically adjusted to fit the number of years in plot.Added argument
suptitle
for functioncalplot
. Defaults toNone
.Added argument
yearcolor
for functioncalplot
. Defaults tolightgray
. Note that the default color is in contrast towhitesmoke
, which is the default value forfillcolor
.Added argument
monthlabelha
for functioncalplot
andyearplot
to specify horizontal alignment for month labels. Defaults tocenter
.Changed default colormap
cmap
for functioncalplot
toviridis
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for calplot-0.1.6.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9316f4c8865cff4c3630397a0028fc1ccecb02b7bd268671cd2ea185593fab12 |
|
MD5 | 529f2bb94f48a920db10e41204ca0fc3 |
|
BLAKE2b-256 | 961024a4ab03fb2f7e0fc668ec1bfe57010fede434c1ba8aaf63100415aad29c |