使用多个坐标轴
注意:这是 Charts with Widgets Gallery 示例的一部分。
创建 QChart 实例,隐藏图表的图例,并设置其标题。
auto chart = new QChart; chart->legend()->hide(); chart->setTitle("Multiple Vertical Axes in Chart");
创建一个 QValueAxis 实例,它将被用作序列的水平轴,并将其添加到图表的底部。这个轴可以被多个序列共享,但每个序列只能有一个垂直和水平轴。
auto axisX = new QValueAxis; axisX->setTickCount(10); chart->addAxis(axisX, Qt::AlignBottom);
创建第一个序列,并将其数据添加到其中。最后,将序列添加到图表中。为其创建自己的 Y 轴,将其添加到图表中。然后将共同的 X 轴和序列特定的 Y 轴附加到图表。在这个例子中,轴线的颜色被设置为与序列的颜色相同,以便区分哪个轴连接到哪个序列。
auto series = new QSplineSeries; *series << QPointF(1, 5) << QPointF(3.5, 18) << QPointF(4.8, 7.5) << QPointF(10, 2.5); chart->addSeries(series); auto axisY = new QValueAxis; axisY->setLinePenColor(series->pen().color()); chart->addAxis(axisY, Qt::AlignLeft); series->attachAxis(axisX); series->attachAxis(axisY);
以类似的方式准备另一个序列。这次使用了一个不同的轴类型。此外,栅格线的颜色也被设置为与序列的颜色相同。
series = new QSplineSeries; *series << QPointF(1, 0.5) << QPointF(1.5, 4.5) << QPointF(2.4, 2.5) << QPointF(4.3, 12.5) << QPointF(5.2, 3.5) << QPointF(7.4, 16.5) << QPointF(8.3, 7.5) << QPointF(10, 17); chart->addSeries(series); auto axisY3 = new QCategoryAxis; axisY3->append("Low", 5); axisY3->append("Medium", 12); axisY3->append("High", 17); axisY3->setLinePenColor(series->pen().color()); axisY3->setGridLinePen((series->pen())); chart->addAxis(axisY3, Qt::AlignRight); series->attachAxis(axisX); series->attachAxis(axisY3);
使用 QChart 作为参数创建一个 QChartView 对象。
createDefaultChartView(chart);
© 2024 Qt 公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可第 1.3 版许可的。Qt 和相应商标是芬兰和/或世界其他地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。