我使用以下代码创建垂直叠加图表:
QStackedBarSeries* series = new QStackedBarSeries();
m_errorSet[0] = new QBarSet("");
m_errorSet[1] = new QBarSet("");
m_errorSet[0]->setColor(QColor("red"));
m_errorSet[1]->setColor(QColor(0x00FF00));
for (i = 0; i < MAX_ERROR_COLS; i++)
{
*m_errorSet[0] << 1;
*m_errorSet[1] << 4;
}
series->setBarWidth(1);
series->append(m_errorSet[0]);
series->append(m_errorSet[1]);
QChart* chart = new QChart();
chart->addSeries(series);
chart->setAnimationOptions(QChart::NoAnimation);
chart->legend()->setVisible(false);
QValueAxis* axisX = new QValueAxis();
// axisX->setMin(-4.0);
// axisX->setMax(0.0);
chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);这样做很好,它创建了一组80条,分布在X中的全部可用大小上。由于某种原因,X轴被标记为-0.5。79.5.
我想要的是X轴范围为-4.0 .0.0。但只要我能
axisX->setMin(-4.0);
axisX->setMax(0.0);在上面的代码中,我只得到一条条--其余的都超出了有效范围。
所以我的问题是:我如何告诉条子总是位于X轴范围内?或者换句话说:我可以在哪里为我的条形设置X轴值?
谢谢!
发布于 2020-12-05 21:59:10
这是一个顺序问题:首先附加轴,然后是系列,以便QStackedBarSeries知道如何定位条形集:
QValueAxis* axisX = new QValueAxis();
axisX->setRange(-4.0,0.0);
QChart* chart = new QChart();
chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);
chart->addSeries(series);
chart->setAnimationOptions(QChart::NoAnimation);
chart->legend()->setVisible(false);https://stackoverflow.com/questions/65088348
复制相似问题