Expressiveness of the contribution graph's color coding

When looking at contribution graphs, I often see something similar to the following example: the user has <5 days, during which he/she contributed a lot (e.g. >30 contributions). This causes the green shades to be allocated in linear quarters relative to the maximum e.g. like

darkest shade: >22 contributions,
2nd darkest: >15 contributions,
3rd darkest: >=7 contributions, and
lightest green shade: <7 contributions.

During the remaining days, there are less contributions in our example, e.g. <5. The issue with this distribution is that most days with any contribution will be shown in the same, lightest green shade and only very few days have different shades of green.

I suggest that instead of linearly dividing the shades relative to the day of maximum contributions, you create a distribution ‘number of days with x contributions’. From that, you extract approximate quartiles and map shades of green to them. Example: the user has

34 days with <3 contributions (lightest green),
29 days with 3-4 contributions (3rd darkest green),
31 days with 5-8 contributions (2nd darkest green), and
28 days with >8 contributions (darkest green).

I think that with this approach, the contribution graph would become more expressive. The price to pay with the above design is that it is not as easy to spot outlier days with a large number of contributions. If that is important, the above algorithm could be adapted from a 25/25/25/25 percent split to e.g. a 30/30/30/10 percent split.

What do you think about this?

1 Like

Hi @cbachhuber! :wave: Welcome to the Community!

That’s an interesting idea! We’re always working to improve GitHub and the GitHub Support Community, and we consider every suggestion we receive.

Would you mind submitting this through our official product feedback form so that our product team can track your request?

Hi @yamiacat!

Done, thank you for pointing me to the correct location for submitting this request.

1 Like