Bar Chart

Bar Chart

Bar charts compare values across categories. The public class is UIGQBarChart; this chapter keeps the column-chart slug only for existing page compatibility.

Base and Class Diagram

QOpenGLWidget
  └─ UIGQChartBase
      └─ UIGQBarChart + IUIGQWidgetBase

Data Structure

struct UIGQBarChartSeries
{
    QString name;
    QVector<double> values;
    QColor fillColor;
    QColor borderColor;
    bool visible = true;
};

Methods

Method Description Parameters Return
setTitle(const QString& title) Sets the title. title: title text. void
getTitle() Reads the title. None. QString
setCategories(const QStringList& categories) Sets category labels. categories: category label list. void
getCategories() Reads category labels. None. QStringList
setValues(const QVector<double>& values) Sets default single-series values. values: value list. void
getValues() Reads default single-series values. None. QVector<double>
setSeries(const QString& name, const QVector<double>& values, const QColor& color) Quickly sets one bar series. name: series name; values: value list; color: fill color, optional. void
setSeries(const QVector<UIGQBarChartSeries>& series) Sets multiple bar series. series: bar series array. void
getSeries() Reads current bar series. None. QVector<UIGQBarChartSeries>
clearSeries() Removes all series. None. void
setSeriesVisible(int index, bool visible) Shows or hides a series. index: series index; visible: whether the series is visible. void
isSeriesVisible(int index) Checks whether a series is visible. index: series index. bool
setTooltipMode(UIGQChartTooltipMode mode) Sets tooltip mode. mode: tooltip mode enum. void
getTooltipMode() Reads tooltip mode. None. UIGQChartTooltipMode
setTooltipVisible(bool visible) Shows or hides tooltip. visible: whether tooltip is visible. void
getTooltipVisible() Reads tooltip visibility. None. bool
setHoverEnabled(bool enabled) Enables or disables hover interaction. enabled: whether hover is enabled. void
getHoverEnabled() Reads hover interaction state. None. bool
initDemoData() Loads demo data. None. void

Example

using namespace UIGQtLib;

auto* chart = new UIGQBarChart(parent);
chart->setTitle("Policy Overview");
chart->setCategories({"Active", "Expiring Soon", "Need Validation", "Expired"});
chart->setSeries("Policies", {420, 15, 30, 12}, QColor(35, 128, 224));
chart->setThemePreset(kChartThemeShine);
chart->setLegendPosition(kChartLegendBottom);
chart->setTooltipMode(kChartTooltipItem);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);

setCategories(...) defines category names. setSeries(name, values, color) is the fastest entry point for one grouped dataset. For multiple datasets, pass QVector<UIGQBarChartSeries> to setSeries(...).