首页 > 解决方案 > 在 Qt QML 中附加时如何在 BarSeries xAxis 中设置标签的 tickCount

问题描述

我有一个条形图,它由一个带有 C++ 函数值的 Button-onClick 填充。一切都很好,但是我的面板宽度值太多了。数据包含这种格式的时间序列数据:

日期 值从 0-1
2021-01-01 0.55
2021-01-02 0.35
2021-01-03 0.77
2021-01-04 0.97

当数据过多时,x 轴上的标签不会相应显示。我只想显示 3-4 个标签。

在我之前使用的 LineSeries 中,我可以通过在DateTimeAxis中定义tickCount来轻松控制标签的数量。

如何在条形图中做到这一点?数据由BarSeries.append()插入

ChartView {
    id: totalChecksChart

    BarSeries {
        id: barChart

        axisX: BarCategoryAxis { 
             categories: [1, 2, 3, 4, 5, 6, 7];
        }

        BarSet {
            values: [0, 0, 0, 0, 0, 0, 0]
        }
    }
}

Button{
    id: refreshButton
    onClicked: {

        _frontPageModel.loadAvailability(_db);
        _frontPageModel.loadDateList(_db);

        graphData = _frontPageModel.getAvailability();

        var dateData = _frontPageModel.getDateList();
        var xAxis = [];
        var yAxis = [];
        for (let f=0; f<dateData.length; f++) {
            xAxis.push(dateData[f]);
        }
        for (let k=0; k<graphData.length; k++) {
            yAxis.push(graphData[k]);
        }

        barChart.clear();
        barChart.axisX.categories = xAxis;
        barChart.axisY.max = 1;
        barChart.axisY.min = 0;

        barChart.append("Verfügbarkeit", yAxis);

    }
}

标签: c++qtqmlqt5qtcharts

解决方案


推荐阅读