立体柱形图制作方法 3d柱状图颜色怎么设置( 二 )


如果未显示地给Q3DBars设置坐标轴,Q3DBars会创建没有标签的临时默认坐标轴 。可以通过相应方法访问这些默认坐标轴,一旦为某一方向显示地设置了坐标轴,则该方向上的默认坐标轴会自动被摧毁 。
Q3DBars支持同时显示多个数据序列 。并且不要求所有的数据序列都具有相同数量的行和列 。如果未明确定义行和列的坐标轴,则行和列的标签数据取自图形中第一个添加的数据序列 。
Q3DBars常用方法:
addAxis(self, axis): 将axis添加到图形 。通过addAxis添加的轴尚未使用,addAxis仅用于将axis的所有权给与图形 。axis不能为空或添加到另一个图形中 。addSeries(self, series):将3D条状图形序列series添加到图形中 。一个图形可以包含多个图形序列,但只能包含一组轴,因此所有序列的行和列都必须匹配才能使可视化数据有意义 。如果图形具有多个可见序列,则在标签未显式设置为轴的情况下,只有主图形序列会在轴上生成行或列标签 。setBarSpacing(self, spacing):设置X和Z轴之间Bar的距离,缺省为(1.0, 1.0) 。setBarSpacingRelative(self, relative):设置间距是绝对值还是相对于Bar的厚度的 。缺省为True 。setBarThickness(self, thicknessRatio):设置X和Z轴之间Bar的厚度,该值1.0表示条形图的宽度是其深的0.5两倍 。缺省值为1.0 。setColumnAxis(self, axis):设置连接到活动列的坐标轴 。setFloorLevel(self, level):设置Y轴数据坐标中条形图的最低水平值,默认为0 。setMultiSeriesUniform(self, uniform):设置是否要按比例将比例尺设置为单个图形序列比例尺来缩放比例 。缺省为False 。setPrimarySeries(self,series):设置图形的主序列 。setRowAxis(self, axis):设置连接到活动行的坐标轴 。setValueAxis(self, axis):将有效值轴(Y轴)设置为axis 。Q3DBars常用信号:
barSpacingChanged(self, spacing):当X和Z轴之间Bar的间距发生改变,发出此信号 。barSpacingRelativeChanged(self, relative):当间距方式发生改变,发出此信号 。barThicknessChanged(self, thicknessRatio):当Bar的厚度发生改变,发出此信号 。columnAxisChanged(self, axis):当连接到活动列的坐标轴发生改变时,发出此信号 。floorLevelChanged(self, level):当Y轴数据坐标中条形图的最低水平值发生改变时,发出此信号 。multiSeriesUniformChanged(self, uniform):当图形序列的比例尺设置发生改变时,发出此信号 。primarySeriesChanged(self, series):当图形的主序列发生变化时,发出此信号 。rowAxisChanged(self, axis):当连接到活动行的坐标轴发生改变时,发出此信号 。selectedSeriesChanged(self, series):当所选的图像序列发生改变时,发出此信号 。valueAxisChanged(self, axis):当有效值轴(Y轴)发生改变时,发出此信号 。QBar3DSeries ClassQBar3DSeries类表示3D条形图中的数据序列 。它管理系列特定的视觉元素以及序列数据(通过数据代理) 。如果没有为该序列显式设置任何数据代理,则该序列将创建一个默认代理 。设置另一个代理将破坏现有代理以及所有添加到其中的数据 。
QBar3DSeries常用函数:
setDataProxy(self, proxy):保存活动数据代理 。setMeshAngle(self, angle):设置数据序列旋转角度(以度为单位) 。setSelectedBar(self,position):设置选中的条形图序列 。QBar3DSeries常用信号:
dataProxyChanged(self, proxy): 当数据代理发生了改变,发出此信号 。meshAngleChanged(self, angle):当数据序列的旋转角度发生了改变,发出此信号 。selectedBarChanged(self, position):当选中的条形图序列发生改变时,发出此信号 。构建一个Q3DBars图形示例代码展示了如果构建一个Q3DBars图形,完整代码如下:
importsysfromPyQt5.QtCoreimportQtfromPyQt5.QtWidgetsimportQApplicationfromPyQt5.QtDataVisualizationimportQ3DBars,QBar3DSeries,QBarDataItem,Q3DCameraif__name__=='__main__':app=QApplication(sys.argv)bars=Q3DBars()bars.setFlags(bars.flags()^Qt.FramelessWindowHint)bars.rowAxis().setRange(0,4)series=QBar3DSeries()data=https://www.520longzhigu.com/diannao/[]data.append(QBarDataItem(1.0))data.append(QBarDataItem(3.0))data.append(QBarDataItem(7.5))data.append(QBarDataItem(5.0))data.append(QBarDataItem(2.2))series.dataProxy().addRow(data)bars.addSeries(series)#调整相机位置,更好的角度来观察柱状图camera=bars.scene().activeCamera()camera.setCameraPreset(Q3DCamera.CameraPresetIsometricRight)bars.setTitle('实战QtforPython:3D柱状图演示')bars.resize(480,360)bars.show()sys.exit(app.exec())运行结果如下图:


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: