Calendar Plot made with Plotly
Project description
plotly-calheatmap
A continuation of plotly-calplot by Bruno Rocha Silva, which is no longer actively maintained.
This project picks up where plotly-calplot left off, providing an interactive calendar heatmap built with Plotly — similar to the contribution graphs on GitHub and GitLab profile pages.
Features
- Interactive calendar heatmaps built with Plotly
- Built-in aggregation — pass raw event data with
agg="sum"|"mean"|"count"|"max"instead of pre-aggregating - Vertical orientation — render months as rows with
vertical=True - Hourly heatmap —
hourly_calheatmap()for hour × day grids per month - Month gap spacing — extra visual separation between months via
month_gap - Multi-year support with independent tick configurations per subplot
- Year navigation buttons (
navigation=True) - Localization support (
localeparameter) for month and day names (e.g.pt_BR,es,fr) - Customizable hovertemplate with friendly
{placeholder}syntax andcustomdatacolumns - Fully customizable colorscales (including custom lists)
- Month separator lines, configurable month label placement, and color scale with label/ticks
- Flexible layout options:
gap,margin,font_*,paper_bgcolor,plot_bgcolor, etc.
Installation
pip install plotly-calheatmap
Quick Start
from plotly_calheatmap import calheatmap
fig = calheatmap(df, x="date", y="value")
fig.show()
Built-in Aggregation
Pass raw (non-aggregated) event data directly — duplicate dates are grouped and aggregated automatically:
from plotly_calheatmap import calheatmap
# df has multiple rows per date (e.g. individual transactions)
fig = calheatmap(df, x="date", y="amount", agg="sum")
fig.show()
Supported functions: "sum", "mean", "count", "max".
Vertical Orientation
fig = calheatmap(df, x="date", y="value", vertical=True, month_gap=1)
Hourly Heatmap
from plotly_calheatmap import hourly_calheatmap
fig = hourly_calheatmap(df, x="datetime_col", y="value")
fig.show()
Credits
This project is based on the original work by Bruno Rocha Silva — plotly-calplot.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plotly_calheatmap-0.2.tar.gz.
File metadata
- Download URL: plotly_calheatmap-0.2.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
520f46b1bea26838d5bc28928bb4227b679e94ad46532a8bf1721a241bdc1c0a
|
|
| MD5 |
2e19f8353fe652a4920509314744947e
|
|
| BLAKE2b-256 |
8df4eb05a716fd87f1f2c86161d1211c9b03b92a3beec6b69b24b55cc5732dca
|
Provenance
The following attestation bundles were made for plotly_calheatmap-0.2.tar.gz:
Publisher:
publish.yaml on thomazyujibaba/plotly-calheatmap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
plotly_calheatmap-0.2.tar.gz -
Subject digest:
520f46b1bea26838d5bc28928bb4227b679e94ad46532a8bf1721a241bdc1c0a - Sigstore transparency entry: 869272601
- Sigstore integration time:
-
Permalink:
thomazyujibaba/plotly-calheatmap@733b079f8caac7c7e437ab12e7d1f7975f8bb30e -
Branch / Tag:
refs/tags/v0.2 - Owner: https://github.com/thomazyujibaba
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@733b079f8caac7c7e437ab12e7d1f7975f8bb30e -
Trigger Event:
release
-
Statement type:
File details
Details for the file plotly_calheatmap-0.2-py3-none-any.whl.
File metadata
- Download URL: plotly_calheatmap-0.2-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f22135a154a376370c00311acdb447b9ef2cc0a9ab7f8aa157ff8786d97f7525
|
|
| MD5 |
c15b67fce1997f26d8abdf9bbecd663e
|
|
| BLAKE2b-256 |
bda4d69f69b80240f3fb14348f0cc1cefcd2d6cfd22d0676bcceb984150edd73
|
Provenance
The following attestation bundles were made for plotly_calheatmap-0.2-py3-none-any.whl:
Publisher:
publish.yaml on thomazyujibaba/plotly-calheatmap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
plotly_calheatmap-0.2-py3-none-any.whl -
Subject digest:
f22135a154a376370c00311acdb447b9ef2cc0a9ab7f8aa157ff8786d97f7525 - Sigstore transparency entry: 869272602
- Sigstore integration time:
-
Permalink:
thomazyujibaba/plotly-calheatmap@733b079f8caac7c7e437ab12e7d1f7975f8bb30e -
Branch / Tag:
refs/tags/v0.2 - Owner: https://github.com/thomazyujibaba
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@733b079f8caac7c7e437ab12e7d1f7975f8bb30e -
Trigger Event:
release
-
Statement type: