[New plugin] "Cal-heatmap" Calendar Heatmap

Hi everyone,

I just published a new plugin that lets you add a calendar heatmap to your application! This plugin supports multiple languages, a ‘clicked’ event with the associated states and extensive customization options.

:arrow_right: Demo page (editor is public): Fully customizable calendar heatmap
:arrow_right: Plugin page: "Cal-Heatmap" - Calendar Heatmap Plugin | Bubble


You can always reach out to me for questions, bug reports or feature requests!


Oh. This would be very useful once I proceed with a project I had in mind.

Great stuff as always @Thimo !

1 Like

Hey @Thimo – really excited to give your plugin a try. I’ve just installed it and am wondering if what I’m trying to do is possible. Rather than displaying a color based on a grouping of records, I’d like to display a color based on the user’s selection.

Basically, the user selects from an option set (Terrible, Bad, Okay, Good, Awesome). Each has a color assigned to it (as an attribute) and I’d like to display that color on the map. Is this possible? Thanks for your help!

Hi @jessie!

The heatmap library is made to display numbers to, for example, display the amount of site visits on a specific day. Similar to the activity heatmap on GitHub. Displaying multiple colours for the values of an option set for example is at this time not really fitted for this Heatmap. I will try to see if I can find a workaround for you and if I am successful I will definitely share it with you :slight_smile:

Thanks, @Thimo ! I was just able to figure out a workaround. In case it helps anyone else – I assigned a numeric value to each option as an attribute, then added a field for ‘heatmap value’ in the data type, then grouped based on the date and that value’s average.

One small thing I’d love to have control over is the ability to add legend ranges and assign colors to each. This is a super clean solution and perfect for my app. Thanks so much!

1 Like

Great to hear you found a workaround @jessie! The legend supports at this time 4 legend ranges, but I will definitely explore the possibility to add more and/or the ability to add specific colours to these ranges :slight_smile:

hi @Thimo,

thank you for creating this plugin. I purchased it and I really like it. To maximize its value, I would like to suggest a couple of enhancements:

  • (1) The point @jessie mentioned with the colors is crucial for my app. Currently the plugin sets a greenish tone for the two stages between minimal and maximum. That doesn’t look clean for a color design without green.
  • (2) Since this heatmap is best known from Github, I would love to see similiar labels for weekdays and months like the Github calender shows. Currently the plugin only shows one legend label in case it is used for year.

Cal heatmap plugin:

Github calender:

  • (3) The legend in the plugin just shows the different colors but doesn’t actually show a legend like “Less” and “More” or “Number of items”. This way it isn’t meaningful in my opinion and don’t see a reason why to display it. Would be nice if we could set these labels.


Hi @mmm!

Thank you for your feature requests! I will explore the possibility to add those to the plugin in a future update for you :slight_smile:

Hi @Thimo ,

thanks for responding. I was able to add labels. This is how it looks like now.

So, I was able to resolve (1) and (2). Getting (3) would still be nice.
Also, getting some ability to customize whether this view shows a Monday or Sunday in the top row would be neat.


@mmm Great looking heatmap! I have looked into the labels and that is unfortunately not (yet) supported by the library that is used. You could maybe make a custom one with Bubble elements. I will investigate though if I can let you change the day labels! :slight_smile:

1 Like

Hi @mmm , could you please share your expertise, how you could manage labels for month and days of the week? Thanks!

@vszhukov1 sry wasn’t here in a while. If you still need this info: I just created text labels with static text in it (“Jan”, “Feb”, …; “Tue”, “Thu”, Sat") it. It is a rather static setup. I just aligned it pixel by pixel…

Is it possible to allow users to select specific times, like this…

Screen Shot 2022-11-03 at 3.27.14 PM

This could be built using Bubble’s functionality

Totally agree. I’ll probably just need a plug-in for the drag and click functionality across severely cells of a repeating group.