Cube Query Rendering Visualization - Histogram

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

Problem to solve

Users have data sets with many values in them. They wish to visualize these and understand the overall nature of their data set but directly plotting the values is quite noisy and hard to interpret with column or line charts, due to the volume of data.

Some users are familiar with histograms and wish to view their data that way. However, these users do not know how to create a histogram manually or do not have direct access to the underlying data set.

Proposal

Introduce a histogram visualization that users can add to their dashboards. Histograms are a way to group data in a data set that makes it easier to understand the overall data set, even if not the individual data points.

As an example, consider the data set below:

26, 11, 30, 16, 19, 25, 21, 26, 18, 23, 16, 18, 28, 30, 23, 30, 14, 10, 29, 29, 11, 14, 29, 30, 16, 14, 15, 17, 17, 22

Users only care about the tens place (10-19,20-29,30-39,etc) and wish to plot this data. It is hard to understand this data set by using a column chart, since it requires a reader to then sum all the individual columns to the tens place that they care about. A heatmap or scatter plot is also hard to understand because there is not really a good choice for a second axis to use.

A histogram would take this data set and transform it into buckets of 10-19:15, 20-29:11, 30-39:4 which would then be graphed using a column chart. Consider how both groups look when contrasted side-by-side below.

image

Requirements

  1. Users are able to define a new visualization for a histogram.
    1. This visualization should allow users to specify a data set to be used in the histogram.
    2. This visualization should allow users to specify how they wish the bucketing to be done.
      1. At a minimum, specifying explicit ranges for buckets should be possible.
      2. If possible, consider other options such as "split the data set into 4,5 or 10 equal-sized buckets."
        1. As a side-note, quintile, quartile, and decile analysis are a quite common pattern in analyzing data sets.
    3. The containing panel should allow users to specify the size of the panel on the dashboard.
    4. This visualization should be specifiable in the same YAML file alongside other visualizations.
  2. The visualization should be defined and fit in with existing dashboard and visualization 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 visualization 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 🤖