对数轴范例

范例展示如何使用 QLogValueAxis .

运行范例

要运行范例从 Qt Creator ,打开 欢迎 模式,然后选择范例从 范例 。更多信息,拜访 构建和运行范例 .

使用对数值轴

创建 QLineSeries instance and add some data to it.

QLineSeries *series = new QLineSeries();
*series << QPointF(1.0, 1.0) << QPointF(2.0, 73.0) << QPointF(3.0, 268.0) << QPointF(4.0, 17.0)
        << QPointF(5.0, 4325.0) << QPointF(6.0, 723.0);
					

To present the data on the chart we need a QChart instance. Add the series to it, hide the legend and set the title of the chart.

QChart *chart = new QChart();
chart->addSeries(series);
chart->legend()->hide();
chart->setTitle("Logarithmic axis example");
					

Create the axes. Add them to the chart and attach to the series.

QValueAxis *axisX = new QValueAxis();
axisX->setTitleText("Data point");
axisX->setLabelFormat("%i");
axisX->setTickCount(series->count());
chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);
QLogValueAxis *axisY = new QLogValueAxis();
axisY->setTitleText("Values");
axisY->setLabelFormat("%g");
axisY->setBase(8.0);
axisY->setMinorTickCount(-1);
chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisY);
					

Then create a QChartView 对象采用 QChart as a parameter. Enable antialiasing to have the rendered line look nicer.

QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
					

图表展示就绪。

QMainWindow window;
window.setCentralWidget(chartView);
window.resize(800, 600);
window.show();
					

范例工程 @ code.qt.io