Как можно построить 3 графика с одной осью X? Чтобы сетка была едина. Накидал пример:
QApplication a(argc, argv);
// Создаем сцену
QGraphicsScene *scene = new QGraphicsScene();
// Создаем графики (QChart)
QChart *chart1 = new QChart();
chart1->setTitle("График 1");
QChart *chart2 = new QChart();
chart2->setTitle("График 2");
QChart *chart3 = new QChart();
chart3->setTitle("График 3");
// Создаем линейные серии данных (QLineSeries) для каждого графика
QLineSeries *series1 = new QLineSeries();
series1->setName("Линия 1");
*series1 << QPointF(0, 6) << QPointF(2, 4) << QPointF(3, 8) << QPointF(7, 4) << QPointF(10, 5);
chart1->addSeries(series1);
QLineSeries *series2 = new QLineSeries();
series2->setName("Линия 2");
*series2 << QPointF(0, 5) << QPointF(2, 7) << QPointF(3, 6) << QPointF(7, 3) << QPointF(10, 8);
chart2->addSeries(series2);
QLineSeries *series3 = new QLineSeries();
series3->setName("Линия 3");
*series3 << QPointF(0, 3) << QPointF(2, 5) << QPointF(3, 4) << QPointF(7, 2) << QPointF(10, 6);
chart3->addSeries(series3);
// Создаем общую ось X
QValueAxis *axisX = new QValueAxis();
axisX->setTitleText("Ось X");
axisX->setLabelFormat("%i");
axisX->setTickCount(11);
QValueAxis *axisX1 = new QValueAxis();
axisX1->setTitleText("Ось X");
axisX1->setLabelFormat("%i");
axisX1->setTickCount(11);
QValueAxis *axisX2 = new QValueAxis();
axisX2->setTitleText("Ось X");
axisX2->setLabelFormat("%i");
axisX2->setTickCount(11);
// Создаем отдельные оси Y для каждого графика
QValueAxis *axisY1 = new QValueAxis();
axisY1->setTitleText("Ось Y1");
axisY1->setLabelFormat("%i");
axisY1->setTickCount(6);
chart1->addAxis(axisY1, Qt::AlignLeft);
series1->attachAxis(axisY1);
QValueAxis *axisY2 = new QValueAxis();
axisY2->setTitleText("Ось Y2");
axisY2->setLabelFormat("%i");
axisY2->setTickCount(6);
chart2->addAxis(axisY2, Qt::AlignLeft);
series2->attachAxis(axisY2);
QValueAxis *axisY3 = new QValueAxis();
axisY3->setTitleText("Ось Y3");
axisY3->setLabelFormat("%i");
axisY3->setTickCount(6);
chart3->addAxis(axisY3, Qt::AlignLeft);
series3->attachAxis(axisY3);
// Подключаем общую ось X ко всем графикам
chart1->addAxis(axisX, Qt::AlignBottom);
series1->attachAxis(axisX);
chart2->addAxis(axisX1, Qt::AlignBottom);
series2->attachAxis(axisX1);
chart3->addAxis(axisX2, Qt::AlignBottom);
series3->attachAxis(axisX2);
// Создаем виджеты для отображения графиков
QChartView *chartView1 = new QChartView(chart1);
QChartView *chartView2 = new QChartView(chart2);
QChartView *chartView3 = new QChartView(chart3);
chartView1->setRenderHint(QPainter::Antialiasing);
chartView2->setRenderHint(QPainter::Antialiasing);
chartView3->setRenderHint(QPainter::Antialiasing);
// Добавляем графики на сцену
scene->addWidget(chartView1);
scene->addWidget(chartView2);
scene->addWidget(chartView3);
// Создаем представление для сцены и отображаем его
QGraphicsView *view = new QGraphicsView(scene);
view->setWindowTitle("Пример 3 графиков с одной осью X");
view->resize(800, 600);
view->show();