PySide6.QtGraphsWidgets.Q3DBarsWidgetItem¶
- class Q3DBarsWidgetItem¶
Q3DBarsWidgetItem类提供了渲染3D柱状图的方法。更多…概要¶
属性¶
barSeriesMarginᅟ- X和Z维度中系列列之间的边距。合理的值范围是[0,1)barSpacingᅟ- X和Z维度上的条形间距barSpacingRelativeᅟ- 间距是绝对的还是相对于条形的厚度barThicknessᅟ- X和Z维度之间的条形厚度比例columnAxisᅟ- 附加到活动列的轴floorLevelᅟ- 柱状图在Y轴数据坐标中的基准水平multiSeriesUniformᅟ- 即使显示多个系列,条形是否按比例缩放为单个系列条形primarySeriesᅟ- 图表的主要系列rowAxisᅟ- 附加到活动行的轴selectedSeriesᅟ- 选定的系列或空值
方法¶
def
__init__()def
addAxis()def
addSeries()def
axes()def
barSpacing()def
barThickness()def
columnAxis()def
floorLevel()def
insertSeries()def
primarySeries()def
releaseAxis()def
removeSeries()def
rowAxis()def
selectedSeries()def
seriesList()def
setBarSpacing()def
setColumnAxis()def
setFloorLevel()def
setRowAxis()def
setValueAxis()def
valueAxis()
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
该类使开发者能够渲染3D条形图并通过自由旋转场景来查看它们。旋转是通过按住鼠标右键并移动鼠标来实现的,而缩放则是通过使用鼠标滚轮来完成的。如果启用,选择是通过鼠标左键来执行的。通过点击鼠标滚轮,可以将场景重置为默认的摄像机视图。在触摸设备上,旋转是通过点击并移动来实现的,选择是通过点击并按住来实现的,而缩放则是通过捏合来实现的。
如果没有为
Q3DBarsWidgetItem显式设置轴,则会创建没有标签的临时默认轴。这些默认轴可以通过轴访问器进行修改,但一旦为某个方向显式设置了任何轴,该方向的默认轴就会被销毁。Q3DBarsWidgetItem支持同时显示多个系列。所有系列不需要具有相同的行数和列数。行和列标签取自第一个添加的系列,除非为行和列轴明确定义了标签。Q3DBarsWidgetItem支持透明度。此功能允许您调整柱状图的不透明度,使其部分透明、完全透明或不透明。如何构建一个最小的Q3DBarsWidgetItem图表¶
首先,构造一个
Q3DBarsWidgetItem的实例。由于我们在这个示例中将图表作为顶级窗口运行,我们需要清除默认设置的Qt::FramelessWindowHint标志:quickWidget = QQuickWidget() bars = Q3DBarsWidgetItem() bars.setWidget(quickWidget) bars.widget().setMinimumSize(QSize(256, 256))
在构建
Q3DBarsWidgetItem之后,您可以通过更改行和列轴上的范围来设置数据窗口。这不是强制性的,因为数据窗口默认会显示系列中的所有数据。如果数据量很大,通常最好只显示其中的一部分。例如,让我们将数据窗口设置为显示前五行和列:bars.rowAxis().setRange(0, 4) bars.columnAxis().setRange(0, 4)
现在,
Q3DBarsWidgetItem已经准备好接收要渲染的数据。创建一个包含一行5个值的系列:series = QBar3DSeries() data = QBarDataRow() data << QBarDataItem(1.0f) << QBarDataItem(3.0f) << QBarDataItem(7.5f) << QBarDataItem(5.0f) << QBarDataItem(2.2f) series.dataProxy().addRow(data) bars.addSeries(series)
注意
我们将数据窗口设置为5 x 5,但我们只添加了一行数据。这是可以的;其余的行将只是空白。
最后你需要将其设置为可见:
bars.widget().show()
创建并显示此图表所需的完整代码如下:
if __name__ == "__main__": app = QApplication([]) quickWidget = QQuickWidget() bars = Q3DBarsWidgetItem() bars.setWidget(quickWidget) bars.widget().setMinimumSize(QSize(256, 256)) bars.rowAxis().setRange(0, 4) bars.columnAxis().setRange(0, 4) series = QBar3DSeries() data = QBarDataRow() data << QBarDataItem(1.0f) << QBarDataItem(3.0f) << QBarDataItem(7.5f) << QBarDataItem(5.0f) << QBarDataItem(2.2f) series.dataProxy().addRow(data) bars.addSeries(series) bars.widget().show() sys.exit(app.exec())
这就是这几行代码产生的结果:
场景可以旋转、放大,并且可以选择一个条形图来查看其值,但在这个最小代码示例中没有包含其他交互。您可以通过熟悉提供的示例来了解更多信息,例如Simple Bar Graph。
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。此属性表示在X和Z维度上系列列之间的边距。合理的值范围是[0,1)。
默认预设为
(0.0, 0.0)。此属性允许显示不同系列的柱状图并排显示,但列之间留有空间。另请参阅
- Access functions:
此属性保存X和Z维度中的条形间距。
预设为
(1.0, 1.0)默认值。间距受barSpacingRelative属性影响。另请参阅
barSpacingRelativemultiSeriesUniformbarSeriesMargin- Access functions:
- property barSpacingRelativeᅟ: bool¶
此属性决定间距是绝对的还是相对于条形的厚度。
如果它是
true,0.0的值表示条形图并排放置,1.0表示在条形图之间留出一个与条形图厚度相同的空间,依此类推。预设为true。- Access functions:
- property barThicknessᅟ: float¶
此属性保存X和Z维度之间的条厚度比例。
值
1.0表示条的宽度与深度相同,而0.5使它们的深度是宽度的两倍。默认预设为1.0。- Access functions:
- property columnAxisᅟ: QCategory3DAxis¶
此属性保存附加到活动列的轴。
将活动列的轴设置为
axis。隐式调用addAxis()以将轴的所有权转移到此图表。如果
axis为空,则会创建一个没有标签的临时默认轴。如果另一个轴被显式设置为相同的方向,则此临时轴将被销毁。另请参阅
- Access functions:
- property floorLevelᅟ: float¶
此属性保存条形图在Y轴数据坐标中的楼层水平。
实际楼层水平将受到Y轴最小值和最大值的限制。默认为零。
- Access functions:
- property multiSeriesUniformᅟ: bool¶
此属性表示即使显示多个系列,是否将条形图按比例缩放为单个系列条形图。
如果设置为
true,bar spacing将仅正确应用于X轴。默认预设为false。- Access functions:
- property primarySeriesᅟ: QBar3DSeries¶
此属性保存图表的主要系列。
将
series设置为图表的主要系列。当轴标签未明确设置时,主要系列确定行和列轴标签。如果指定的系列尚未添加到图表中,将其设置为主要系列也会隐式地将其添加到图表中。
如果主系列本身从图表中移除,此属性将重置为默认值。
如果
series为空,此属性将重置为默认值。默认值为第一个添加的系列,如果未向图表添加任何系列,则为零。- Access functions:
- property rowAxisᅟ: QCategory3DAxis¶
此属性保存附加到活动行的轴。
将活动行的轴设置为
axis。隐式调用addAxis()以将轴的所有权转移到此图表。如果
axis为空,则会创建一个没有标签的临时默认轴。如果另一个轴被显式设置为相同的方向,则此临时轴将被销毁。另请参阅
- Access functions:
- property selectedSeriesᅟ: QBar3DSeries¶
此属性保存选定的系列或空值。
如果selectionMode设置了
SelectionMultiSeries标志,此属性将保存拥有所选柱形的系列。- Access functions:
- property valueAxisᅟ: QValue3DAxis¶
将活动值轴(Y轴)设置为
axis。隐式调用addAxis()以将axis的所有权转移到此图表。如果
axis为空,则会创建一个没有标签且自动调整范围的临时默认轴。如果显式设置了另一个轴到相同的方向,则此临时轴将被销毁。另请参阅
- Access functions:
使用可选的
parent构建一个新的3D条形图。- addAxis(axis)¶
- Parameters:
axis –
QAbstract3DAxis
将
axis添加到图表中。通过addAxis添加的轴尚未被使用,addAxis仅用于将axis的所有权赋予图表。axis不能为空或已添加到另一个图表中。- addSeries(series)¶
- Parameters:
series –
QBar3DSeries
将
series添加到图表中。一个图表可以包含多个系列,但只能有一组轴,因此所有系列的行和列必须匹配,以使可视化的数据有意义。如果图表有多个可见系列,只有在未明确设置轴标签的情况下,主要系列才会生成轴上的行或列标签。如果新添加的系列指定了选定的条形图,它将被突出显示,并且任何现有的选择将被清除。只有一个添加的系列可以有活动的选择。- axes()¶
- Return type:
返回所有添加的轴的列表。
另请参阅
- barSeriesMargin()¶
- Return type:
另请参阅
属性
barSeriesMarginᅟ的获取器。属性
barSeriesMarginᅟ的通知信号。- barSpacing()¶
- Return type:
另请参阅
属性
barSpacingᅟ的获取器。属性
barSpacingᅟ的通知信号。- barSpacingRelativeChanged(relative)¶
- Parameters:
relative – 布尔值
属性
barSpacingRelativeᅟ的通知信号。- barThickness()¶
- Return type:
浮点数
另请参阅
属性
barThicknessᅟ的获取器。- barThicknessChanged(thicknessRatio)¶
- Parameters:
thicknessRatio – 浮点数
属性
barThicknessᅟ的通知信号。- columnAxis()¶
- Return type:
另请参阅
属性
columnAxisᅟ的获取器。- columnAxisChanged(axis)¶
- Parameters:
axis –
QCategory3DAxis
属性
columnAxisᅟ的通知信号。- floorLevel()¶
- Return type:
浮点数
另请参阅
属性
floorLevelᅟ的获取器。- floorLevelChanged(level)¶
- Parameters:
level – 浮点数
属性
floorLevelᅟ的通知信号。- insertSeries(index, series)¶
- Parameters:
index – 整数
series –
QBar3DSeries
将
series插入到系列列表中的index位置。如果series已经被添加到列表中,它将被移动到新的index。注意
当将一个系列移动到一个新的
index,该新索引位于旧索引之后时,列表中的新位置的计算方式就像该系列仍在旧索引中一样,因此最终索引实际上是index减一。- isBarSpacingRelative()¶
- Return type:
布尔
属性
barSpacingRelativeᅟ的获取器。- isMultiSeriesUniform()¶
- Return type:
布尔
属性
multiSeriesUniformᅟ的获取器。- multiSeriesUniformChanged(uniform)¶
- Parameters:
uniform – 布尔值
属性
multiSeriesUniformᅟ的通知信号。- primarySeries()¶
- Return type:
另请参阅
属性
primarySeriesᅟ的获取器。- primarySeriesChanged(series)¶
- Parameters:
series –
QBar3DSeries
属性
primarySeriesᅟ的通知信号。- releaseAxis(axis)¶
- Parameters:
axis –
QAbstract3DAxis
如果
axis被添加到此图中,则将其所有权释放回调用者。如果释放的axis正在使用中,将创建一个新的默认轴并设置为活动状态。如果默认轴被释放并稍后重新添加,它的行为将与其他任何轴相同。
- removeSeries(series)¶
- Parameters:
series –
QBar3DSeries
从图表中移除
series。另请参阅
- rowAxis()¶
- Return type:
另请参阅
属性
rowAxisᅟ的获取器。- rowAxisChanged(axis)¶
- Parameters:
axis –
QCategory3DAxis
属性
rowAxisᅟ的通知信号。- selectedSeries()¶
- Return type:
属性
selectedSeriesᅟ的获取器。- selectedSeriesChanged(series)¶
- Parameters:
series –
QBar3DSeries
属性
selectedSeriesᅟ的通知信号。- seriesList()¶
- Return type:
QBar3DSeries的列表
返回添加到该图表的系列列表。
另请参阅
属性
barSeriesMarginᅟ的设置器。属性
barSpacingᅟ的设置器。- setBarSpacingRelative(relative)¶
- Parameters:
relative – 布尔值
属性
barSpacingRelativeᅟ的设置器。- setBarThickness(thicknessRatio)¶
- Parameters:
thicknessRatio – 浮点数
另请参阅
属性
barThicknessᅟ的设置器。- setColumnAxis(axis)¶
- Parameters:
axis –
QCategory3DAxis
另请参阅
属性
columnAxisᅟ的设置器。- setFloorLevel(level)¶
- Parameters:
level – 浮点数
另请参阅
属性
floorLevelᅟ的设置器。- setMultiSeriesUniform(uniform)¶
- Parameters:
uniform – 布尔值
属性
multiSeriesUniformᅟ的设置器。- setPrimarySeries(series)¶
- Parameters:
series –
QBar3DSeries
另请参阅
属性
primarySeriesᅟ的设置器。- setRowAxis(axis)¶
- Parameters:
axis –
QCategory3DAxis
另请参阅
属性
rowAxisᅟ的设置器。- setValueAxis(axis)¶
- Parameters:
axis –
QValue3DAxis
另请参阅
属性
valueAxisᅟ的设置器。- valueAxis()¶
- Return type:
另请参阅
属性
valueAxisᅟ的获取器。- valueAxisChanged(axis)¶
- Parameters:
axis –
QValue3DAxis
属性
valueAxisᅟ的通知信号。