Cube Query Rendering Visualization - Heatmap

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

Users have data sets where they wish to view what their data looks like across two axes and how frequent or common results across those two axes are. Line and bar charts are inconvenient to be able to do this. Scatter plots are insufficient to do this, since multiple points plotted on the same location will all appear the same, rather than indicating that multiple points were plotted at the same location.

Proposal

Introduce a heatmap visualization for users to include in their dashboards. Heatmap visualizations are a way to quickly visualize the relationship between two metrics by plotting each on an axis and using color as a way to illustrate the value for the location both axes.

As an example, if a value appeared at the (0,3) coordinate 5 times, the number 5 or a color corresponding to it would be plotted once at (0,3). The same value would not be plotted at (0,3) five times in a row.

image

Requirements

  1. Users are able to define a new visualization for a heatmap.
    1. This visualization should allow the values for the metric to be specified.
      1. This should be specified as two lists of items, one to be used for each axis.
      2. The value for each point on the axis should be provided to the visualization. In practice, this will mean the user will have to pre-compute the value, generally as a sum(),count(),countdistinct(), or some other calculation function beforehand.
    2. This visualization should allow users to specify a set of colors to be used for the heatmap. 2. At a minimum, this should allow for two colors to be specified and a gradient between the two of them be used for interpolation.
    3. The panel should allow users to specify the size of the panel on the dashboard.
  2. The visualization should be defined and fit in with existing dashboard and panel schema as well as design principles used for other visualizations.
  3. The visualization should support configuration options provided by GitLab UI where possible.

Implementation plans

fill in during planning breakdown

Structure in dashboard file

Structure in widget file

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖