HorizontalStackedBarChart Example

The stacked bar chart shows the data in sets as bars that are stacked on top of each other. The stacking is done per category. Creating a stacked horizontal bar chart is just like creating a regular bar chart, except that for a stacked horizontal bar chart, we use the QHorizontalStackedBarSeries api instead of QBarSeries.

Image non disponible

Running the Example

To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.

Creating Horizontal Stacked Bar Charts

The bar sets are used in same way in all bar charts. To illustrate the difference between various barcharts, we use the same data in all examples. The data that barchart visualizes, is defined by the QBarSet instances. Here we create the sets and append data to them. The data is appended here with the << operator. Alternatively, the append method could also be used.

 
Sélectionnez
    QBarSet *set0 = new QBarSet("Jane");
    QBarSet *set1 = new QBarSet("John");
    QBarSet *set2 = new QBarSet("Axel");
    QBarSet *set3 = new QBarSet("Mary");
    QBarSet *set4 = new QBarSet("Samantha");

    *set0 &lt;&lt; 1 &lt;&lt; 2 &lt;&lt; 3 &lt;&lt; 4 &lt;&lt; 5 &lt;&lt; 6;
    *set1 &lt;&lt; 5 &lt;&lt; 0 &lt;&lt; 0 &lt;&lt; 4 &lt;&lt; 0 &lt;&lt; 7;
    *set2 &lt;&lt; 3 &lt;&lt; 5 &lt;&lt; 8 &lt;&lt; 13 &lt;&lt; 8 &lt;&lt; 5;
    *set3 &lt;&lt; 5 &lt;&lt; 6 &lt;&lt; 7 &lt;&lt; 3 &lt;&lt; 4 &lt;&lt; 5;
    *set4 &lt;&lt; 9 &lt;&lt; 7 &lt;&lt; 5 &lt;&lt; 3 &lt;&lt; 1 &lt;&lt; 2;

We create the series and append the bar sets to it. The series takes ownership of the bar sets. The series groups the data from sets to categories. The first values of each set are grouped together in the first category, the second values in the second category and so on.

 
Sélectionnez
    QHorizontalStackedBarSeries *series = new QHorizontalStackedBarSeries();
    series-&gt;append(set0);
    series-&gt;append(set1);
    series-&gt;append(set2);
    series-&gt;append(set3);
    series-&gt;append(set4);

Here we create