diff options
author | Marek Rosa <marek.rosa@digia.com> | 2012-11-22 14:57:05 +0200 |
---|---|---|
committer | Michal Klocek <Michal.Klocek@digia.com> | 2012-11-26 14:58:47 +0200 |
commit | 344c3d3c27422964497364905aa2af61cf96ff14 (patch) | |
tree | 51df190eadc6150fca7f97077531adbd333d65ee /demos | |
parent | c185a1f604d60b577b3d0b8dd21999234ab1d223 (diff) |
ChartViewer: added logaxes charts
Diffstat (limited to 'demos')
-rw-r--r-- | demos/chartviewer/charts/axis/barcategoryaxisxlogy.cpp | 81 | ||||
-rw-r--r-- | demos/chartviewer/charts/axis/barcategoryaxisylogx.cpp | 81 | ||||
-rw-r--r-- | demos/chartviewer/charts/axis/logvalueaxisx.cpp | 76 | ||||
-rw-r--r-- | demos/chartviewer/charts/axis/logvalueaxisy.cpp | 76 | ||||
-rw-r--r-- | demos/chartviewer/charts/charts.pri | 4 |
5 files changed, 318 insertions, 0 deletions
diff --git a/demos/chartviewer/charts/axis/barcategoryaxisxlogy.cpp b/demos/chartviewer/charts/axis/barcategoryaxisxlogy.cpp new file mode 100644 index 00000000..bd656543 --- /dev/null +++ b/demos/chartviewer/charts/axis/barcategoryaxisxlogy.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Commercial Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "charts.h" +#include "qchart.h" +#include "qbarseries.h" +#include "qbarset.h" +#include "qlogvalueaxis.h" +#include "qbarcategoryaxis.h" + +class BarCategoryAxisXLogY: public Chart +{ +public: + QString name() { return "AxisX"; } + QString category() { return QObject::tr("Axis"); } + QString subCategory() { return "BarCategoryAxis"; } + + QChart *createChart(const DataTable &table) + { + QChart *chart = new QChart(); + chart->setTitle(" BarCateogry X , LogValue Y"); + + QString name("Series "); + QBarSeries *series = new QBarSeries(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->setAxisY(logvalueaxis, series); + chart->setAxisX(barcategory, series); + + return chart; + } +}; + +class BarCategoryAxisXLogYTitle: public BarCategoryAxisXLogY +{ + QString name() { return "AxisX Title"; } + QChart *createChart(const DataTable &table) + { + QChart *chart = BarCategoryAxisXLogY::createChart(table); + chart->axisX()->setTitleText("Axis X"); + chart->axisY()->setTitleText("Axis Y"); + chart->setTitle(" BarCateogry X , LogValue Y, title"); + return chart; + } +}; + +DECLARE_CHART(BarCategoryAxisXLogY); +DECLARE_CHART(BarCategoryAxisXLogYTitle); diff --git a/demos/chartviewer/charts/axis/barcategoryaxisylogx.cpp b/demos/chartviewer/charts/axis/barcategoryaxisylogx.cpp new file mode 100644 index 00000000..3b76b469 --- /dev/null +++ b/demos/chartviewer/charts/axis/barcategoryaxisylogx.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Commercial Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "charts.h" +#include "qchart.h" +#include "qhorizontalbarseries.h" +#include "qbarset.h" +#include "qlogvalueaxis.h" +#include "qbarcategoryaxis.h" + +class BarCategoryAxisYLogX: public Chart +{ +public: + QString name() { return "AxisY"; } + QString category() { return QObject::tr("Axis"); } + QString subCategory() { return "BarCategoryAxis"; } + + QChart *createChart(const DataTable &table) + { + QChart *chart = new QChart(); + chart->setTitle(" LogValue 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; + } +}; + +class BarCategoryAxisYLogXTitle: public BarCategoryAxisYLogX +{ + QString name() { return "AxisX Title"; } + QChart *createChart(const DataTable &table) + { + QChart *chart = BarCategoryAxisYLogX::createChart(table); + chart->axisX()->setTitleText("Axis X"); + chart->axisY()->setTitleText("Axis Y"); + chart->setTitle(" LogValue X , BarCateogry Y, title"); + return chart; + } +}; + +DECLARE_CHART(BarCategoryAxisYLogX); +DECLARE_CHART(BarCategoryAxisYLogXTitle); diff --git a/demos/chartviewer/charts/axis/logvalueaxisx.cpp b/demos/chartviewer/charts/axis/logvalueaxisx.cpp new file mode 100644 index 00000000..ec59df87 --- /dev/null +++ b/demos/chartviewer/charts/axis/logvalueaxisx.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Commercial Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "charts.h" +#include "qchart.h" +#include "qlineseries.h" +#include "qlogvalueaxis.h" +#include "qcategoryaxis.h" + +class LogValueAxisX: public Chart +{ +public: + QString name() { return "LogValueAxisX"; } + QString category() { return QObject::tr("Axis"); } + QString subCategory() { return QObject::tr("Log"); } + + QChart *createChart(const DataTable &table) + { + QChart *chart = new QChart(); + chart->setTitle("LogValue X , Value Y"); + + QString name("Series "); + int nameIndex = 0; + foreach (DataList list, table) { + QLineSeries *series = new QLineSeries(chart); + foreach (Data data, list) + series->append(data.first); + series->setName(name + QString::number(nameIndex)); + nameIndex++; + chart->addSeries(series); + } + + chart->createDefaultAxes(); + QLogValueAxis *axis = new QLogValueAxis(); + axis->setBase(1.2); + foreach (QAbstractSeries *series, chart->series()) + chart->setAxisX(axis, series); + + return chart; + } +}; + +class LogValueAxisTitleX: public LogValueAxisX +{ +public: + QString name() { return "LogValueAxisXTitle"; } + + QChart *createChart(const DataTable &table) + { + QChart *chart = LogValueAxisX::createChart(table); + chart->axisX()->setTitleText("Axis X"); + chart->axisY()->setTitleText("Axis Y"); + chart->setTitle("Log Value X , Value Y, title"); + return chart; + } +}; + +DECLARE_CHART(LogValueAxisX); +DECLARE_CHART(LogValueAxisTitleX); diff --git a/demos/chartviewer/charts/axis/logvalueaxisy.cpp b/demos/chartviewer/charts/axis/logvalueaxisy.cpp new file mode 100644 index 00000000..a4344886 --- /dev/null +++ b/demos/chartviewer/charts/axis/logvalueaxisy.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Commercial Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "charts.h" +#include "qchart.h" +#include "qlineseries.h" +#include "qlogvalueaxis.h" +#include "qcategoryaxis.h" + +class LogValueAxisY: public Chart +{ +public: + QString name() { return "LogValueAxisY"; } + QString category() { return QObject::tr("Axis"); } + QString subCategory() { return QObject::tr("Log"); } + + QChart *createChart(const DataTable &table) + { + QChart *chart = new QChart(); + chart->setTitle("Value X , LogValue Y"); + + QString name("Series "); + int nameIndex = 0; + foreach (DataList list, table) { + QLineSeries *series = new QLineSeries(chart); + foreach (Data data, list) + series->append(data.first); + series->setName(name + QString::number(nameIndex)); + nameIndex++; + chart->addSeries(series); + } + + chart->createDefaultAxes(); + QLogValueAxis *axis = new QLogValueAxis(); + axis->setBase(2); + foreach (QAbstractSeries *series, chart->series()) + chart->setAxisY(axis, series); + + return chart; + } +}; + +class LogValueAxisTitleY: public LogValueAxisY +{ +public: + QString name() { return "LogValueAxisYTitle"; } + + QChart *createChart(const DataTable &table) + { + QChart *chart = LogValueAxisY::createChart(table); + chart->axisX()->setTitleText("Axis X"); + chart->axisY()->setTitleText("Axis Y"); + chart->setTitle("Value X , Log Value Y, title"); + return chart; + } +}; + +DECLARE_CHART(LogValueAxisY); +DECLARE_CHART(LogValueAxisTitleY); diff --git a/demos/chartviewer/charts/charts.pri b/demos/chartviewer/charts/charts.pri index 88d455c6..13321efa 100644 --- a/demos/chartviewer/charts/charts.pri +++ b/demos/chartviewer/charts/charts.pri @@ -15,9 +15,13 @@ SOURCES += \ $$PWD/pieseries/piechart.cpp \ $$PWD/pieseries/donutchart.cpp \ $$PWD/axis/valueaxis.cpp \ + $$PWD/axis/logvalueaxisx.cpp \ + $$PWD/axis/logvalueaxisy.cpp \ $$PWD/axis/categoryaxis.cpp \ $$PWD/axis/barcategoryaxisx.cpp \ $$PWD/axis/barcategoryaxisy.cpp \ + $$PWD/axis/barcategoryaxisxlogy.cpp \ + $$PWD/axis/barcategoryaxisylogx.cpp \ $$PWD/multiaxis/multivalueaxis.cpp \ $$PWD/multiaxis/multivalueaxis2.cpp \ $$PWD/multiaxis/multivalueaxis3.cpp \ |