Bars3D QML 类型

3D 条形图。 更多...

导入语句import QtGraphs
继承

AbstractGraph3D

状态技术预览

属性

方法

详细描述

此类型允许开发者在 Qt Quick 中渲染 3D 条形图。

您将需要导入 Qt Graphs 模块来使用此类型

import QtGraphs

之后,您就可以在 QML 文件中使用 Bars3D

import QtQuick
import QtGraphs

Item {
    width: 640
    height: 480

    Bars3D {
        width: parent.width
        height: parent.height

        Bar3DSeries {
            itemLabelFormat: "@colLabel, @rowLabel: @valueLabel"

            ItemModelBarDataProxy {
                itemModel: dataModel
                // Mapping model roles to bar series rows, columns, and values.
                rowRole: "year"
                columnRole: "city"
                valueRole: "expenses"
            }
        }
    }

    ListModel {
        id: dataModel
        ListElement{ year: "2022"; city: "Oulu";     expenses: "4200"; }
        ListElement{ year: "2022"; city: "Rauma";    expenses: "2100"; }
        ListElement{ year: "2022"; city: "Helsinki"; expenses: "7040"; }
        ListElement{ year: "2022"; city: "Tampere";  expenses: "4330"; }
        ListElement{ year: "2023"; city: "Oulu";     expenses: "3960"; }
        ListElement{ year: "2023"; city: "Rauma";    expenses: "1990"; }
        ListElement{ year: "2023"; city: "Helsinki"; expenses: "7230"; }
        ListElement{ year: "2023"; city: "Tampere";  expenses: "4650"; }
    }
}

请参阅 简单条形图 获取更详尽的用法示例。

另请参阅 Bar3DSeriesItemModelBarDataProxyScatter3DSurface3D 以及 Qt Graphs C++ 3D 类

属性文档

barSeriesMargin : size

系列列在 X 和 Z 维度之间的边距。默认预设为 (0.0, 0.0)。合理的值在范围内 [0,1)。


barSpacing : size

条形图在 X 和 Z 维度之间的间隔。

默认预设为 (1.0, 1.0)。间隔受 barSpacingRelative 属性的影响。


barSpacingRelative : bool

间隔是绝对的还是相对于条形图厚度的。

如果 true,则 0.0 的值表示棒状图是并排放置的,1.0 表示棒与棒之间留有与棒厚相同的间距,依此类推。默认设置为 true


barThickness : 实数

X 轴和 Z 轴之间的棒状图厚度比。值 1.0 表示棒状图的宽度和深度相同,而 0.5 则表示棒状图的深度是宽度的两倍。


columnAxis : CategoryAxis3D

活动列轴。

如果没有给出轴,将创建一个带有无标签的临时默认轴。如果明确将另一个轴设置为相同的方向,则此临时轴将被销毁。


floorLevel : 实数

在 Y 轴数据坐标中的柱状图底部水平。

实际的底部水平将受到 Y 轴最小值和最大值的限制。默认为零。


multiSeriesUniform : 布尔值

定义是否在即使显示多个系列的情况下也根据单系列棒状图的比例缩放棒状图。如果设置为 true,则 bar spacing 会被正确地应用于 X 轴。默认设置为 false


primarySeries : Bar3DSeries

图形的主系列。当标签没有明确设置到轴上时,用于确定行和列轴标签。

如果指定的系列尚未添加到图形中,将其设置为主系列也将隐式将其添加到图形中。

如果主系列本身从图形中删除,则此属性将重置为默认值。

如果系列为 null,则此属性将重置为默认值。默认为第一个添加的系列或零(如果未向图形添加系列)。


rowAxis : CategoryAxis3D

活动行轴。

如果没有给出轴,将创建一个带有无标签的临时默认轴。如果明确将另一个轴设置为相同的方向,则此临时轴将被销毁。


selectedSeries : Bar3DSeries

选定的系列或 null。如果 selectionMode 具有设置 SelectionMultiSeries 标志,则此属性包含拥有选定栏的系列。


seriesList : 列表<Bar3DSeries> [默认]

图形的系列。默认情况下,此属性包含一个空列表。要设置系列,请使用 addSeries() 函数或将它们定义为图形的子项。


valueAxis : ValueAxis3D

活动值轴。

如果未给出轴,将创建一个无标签并自动调整范围的临时默认轴。如果明确将另一个轴设置为相同的方向,则此临时轴将被销毁。


方法文档

void addSeries(Bar3DSeries series)

将系列添加到图表中。图表可以包含多个系列,但只有一个轴系,因此所有系列的行和列必须匹配,以便可视化的数据有意义。如果图表有多个可见系列,只有最先添加的将生成轴系上的行或列标签,在标签未明确设置到轴系的情况下。如果新添加的系列指定了选择的条形,则它将被突出显示,并将清除任何现有选择。只有一个添加的系列可以有一个活跃的选择。

另请参阅 AbstractGraph3D::hasSeries()。


void insertSeries(int index, Bar3DSeries series)

将系列插入到系列列表的第index位置。如果系列已经添加到列表中,它将被移动到新的index位置。

注意:将系列移动到新的index位置(在该系列旧的索引之后)时,列表中的新位置是按照系列仍在旧的索引位置来计算的,因此最终的索引实际上是index减一。

另请参阅 AbstractGraph3D::hasSeries()。


void removeSeries(Bar3DSeries series)

从图表中删除系列。

另请参阅 AbstractGraph3D::hasSeries()。


© 2024 Qt 公司。此处包含的文档贡献者是各自所有权的版权所有者。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3许可的。Qt及其相关标志是芬兰以及全球其他地区Qt公司的商标。所有其他商标均为其各自所有者的财产。