我正在尝试使用 QtCharts 创建条形图。我想要一个数值的水平轴,并且我的条形图显示在刻度之间。然而,与 QBarCategoryAxis 的情况不同,QBarCategoryAxis 的标签将集中在条形上(每个条形代表一个类别),QValueAxis 的行为是将条形集中在刻度中。
QBarSet *set0 = new QBarSet("Dummy");
int dummy_value = 5;
*set0 << dummy_value
<< dummy_value + 2
<< dummy_value + 4;
QStackedBarSeries *series = new QStackedBarSeries();
series->append(set0);
series->setBarWidth(1.0);
QChart *chart = new QChart();
chart->addSeries(series);
chart->setTitle("Dummy");
QValueAxis* y_axis = new QValueAxis();
chart->addAxis(y_axis, Qt::AlignLeft);
y_axis->setRange(0, 10);
y_axis->setTickCount(6);
y_axis->setLabelFormat("%i");
y_axis->setVisible(true);
series->attachAxis(y_axis);
QValueAxis* x_axis = new QValueAxis();
chart->addAxis(x_axis, Qt::AlignBottom);
x_axis->setRange(0, set0->count());
x_axis->setTickCount(set0->count() + 1);
x_axis->setLabelFormat("%d");
x_axis->setVisible(true);
series->attachAxis(x_axis);
chart->legend()->setVisible(true);
chart->legend()->setAlignment(Qt::AlignBottom);
有谁知道一个好的解决方案,可以在刻度之间显示条形,同时将标签显示在刻度上而不是集中在条形上?
我通过抑制该行得到了我想要的行为
series->attachAxis(x_axis);