| 23 | #include <QApplication> |
| 24 | |
| 25 | int main(int argc, char *argv[]) |
| 26 | { |
| 27 | QApplication a(argc, argv); |
| 28 | KDChart::Chart chart; |
| 29 | |
| 30 | QStandardItemModel model; |
| 31 | |
| 32 | model.setRowCount(100); |
| 33 | model.setColumnCount(6); // 3 data sets |
| 34 | for (int i = 0; i < 100; ++i) { |
| 35 | // dateset 1 |
| 36 | qreal t = i; |
| 37 | qreal v = qreal(i) * i; |
| 38 | QModelIndex index = model.index(i, 0); |
| 39 | model.setData(index, QVariant(t)); |
| 40 | index = model.index(i, 1); |
| 41 | model.setData(index, QVariant(v)); |
| 42 | |
| 43 | // dateset 2 |
| 44 | t = i * 2; |
| 45 | v = qreal(i) * i - i; |
| 46 | index = model.index(i, 2); |
| 47 | model.setData(index, QVariant(t)); |
| 48 | index = model.index(i, 3); |
| 49 | model.setData(index, QVariant(v)); |
| 50 | |
| 51 | // dateset 3 |
| 52 | t = qreal(i) / 2; |
| 53 | v = qreal(i) * i + i; |
| 54 | index = model.index(i, 4); |
| 55 | model.setData(index, QVariant(t)); |
| 56 | index = model.index(i, 5); |
| 57 | model.setData(index, QVariant(v)); |
| 58 | } |
| 59 | |
| 60 | model.setHeaderData(0, Qt::Horizontal, "Dataset 1"); |
| 61 | model.setHeaderData(2, Qt::Horizontal, "Dataset 2"); |
| 62 | model.setHeaderData(4, Qt::Horizontal, "Dataset 3"); |
| 63 | |
| 64 | // general chart layout |
| 65 | KDChart::FrameAttributes fm = chart.frameAttributes(); |
| 66 | fm.setVisible(true); |
| 67 | fm.setPen(QPen(Qt::black)); |
| 68 | chart.setFrameAttributes(fm); |
| 69 | chart.setGlobalLeading(10, 0, 10, 10); |
| 70 | |
| 71 | KDChart::BackgroundAttributes chart_bg; |
| 72 | chart_bg.setBrush(Qt::white); |
| 73 | chart_bg.setVisible(true); |
| 74 | chart.setBackgroundAttributes(chart_bg); |
| 75 | |
| 76 | // coordinate plane setup |
| 77 | KDChart::AbstractCoordinatePlane *plane1 = chart.coordinatePlane(); |
| 78 | plane1->setRubberBandZoomingEnabled(true); |
| 79 | |
| 80 | // create cartesian diagrams |
| 81 | auto *plotter = new KDChart::Plotter; |
| 82 | plotter->setHidden(0, true); |
nothing calls this directly
no test coverage detected