QChart横向叠加柱状图,数据量大时,Y轴刻度显示不全
QColor GREEN = QColor(0, 230, 0);
QColor RED = QColor(255, 50, 50);
QHorizontalStackedBarSeries *series = new QHorizontalStackedBarSeries();
series->setBarWidth(0.5);
for(int i=0; i < 100; i++) {
if (i%4==0) {
*set0 << 0;
*set1 << 0;
continue;
}
*set0 << 1 + QRandomGenerator::global()->bounded(4.1);
*set1 << 2+ QRandomGenerator::global()->bounded(1.1);
}
series->append(set0);
series->append(set1);
set0->setColor(GREEN);
set1->setColor(RED);
set0->setBorderColor(GREEN);
set1->setBorderColor(RED);
series->setUseOpenGL(true);
connect(series, SIGNAL(hovered(bool, int, QBarSet*)), this, SLOT(sltTooltip(bool, int, QBarSet*)));
QChart *chart = new QChart();
chart->addSeries(series);
chart->setTitle("Simple horizontal stacked barchart example");
chart->setAnimationOptions(QChart::SeriesAnimations);
QStringList categories;
for(int i=20; i< 120; i++) {
if (i%20==0) {
categories << "";
continue;
}
categories << QString::number(i);
}
QBarCategoryAxis *axisY = new QBarCategoryAxis();
axisY->append(categories);
chart->addAxis(axisY, Qt::AlignLeft);
axisY->setTitleVisible(true);
axisY->setVisible(true);
series->attachAxis(axisY);
QValueAxis *axisX = new QValueAxis();
chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);
chart->legend()->setVisible(false);
chart->legend()->setAlignment(Qt::AlignBottom);
chart->setTitle("");
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
chartView->setStyleSheet("background-color:black");