// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses #include "charts.h" #include #include #include #include #include class BarLogX: public Chart { public: QString name() { return "Horizontal Bar"; } QString category() { return QObject::tr("Domain"); } QString subCategory() { return "Horizontal Log"; } QChart *createChart(const DataTable &table) { QChart *chart = new QChart(); chart->setTitle("Bar: Log X, BarCateogry Y"); QString name("Series "); QHorizontalBarSeries *series = new QHorizontalBarSeries(chart); QLogValueAxis *logvalueaxis = new QLogValueAxis(); logvalueaxis->setBase(2); QBarCategoryAxis *barcategory = new QBarCategoryAxis(); for (int i(0); i < table.count(); i++) { QBarSet *set = new QBarSet("Bar set " + QString::number(i)); foreach (Data data, table[i]) *set << data.first.y(); series->append(set); } chart->addSeries(series); int count = series->barSets().first()->count(); for (int i = 0; i < count; i++) { barcategory->append("BarSet " + QString::number(i)); } chart->setAxisX(logvalueaxis, series); chart->setAxisY(barcategory, series); return chart; } }; DECLARE_CHART(BarLogX);