Qt给予了三维大数据可视化控制模块,能够制作三维条形图,三维散点图,三维斜面等。在PyQt5的默认设置安装文件中,做为一个融合的大数据可视化控制模块,要应用它,必须独立安裝PyQtDataVisualization包。运行指令
pip install PyQtDataVisualization
安裝该控制模块,您还可以应用它。
QAbstract3DGraph
不论是三维条形图,三维散点图或是三维斜面,他们都承继自QAbstract3DGraph类,此类为图型给予了对话框和3D渲染周期时间。
QAbstract3DGraph是QWindow的一个派生类,为其拥有的类给予3D渲染循环系统。这一类不应该立即在程序流程中应用,而需要应用它的派生类。
除开OpenGL ES2自然环境(Qt大数据可视化不兼容高画质),默认设置状况下C 上的高画质是开启的。
留意:q抽象性3 dgraphqt::frameleswindow hint默认设置状况下将对话框标示设定为开启。假如要将图型对话框表明为含有基本对话框架构的单独对话框,请在搭建图型后消除此标示。比如:
bars = Q3DBars()bars.setFlags(bars.flags() ^ Qt.FramelessWindowHint)
QAbstract3DGraph的常见方式:
scene(self):回到情景Q3DScene()目标。setActiveInputHandler(self, inputHandler):将inputHandler设定为图型中采用的主题活动键入程序处理。setActiveTheme(self, theme):将theme设定为要用以图型的活动标题。setAspectRatio(self, ratio):设定图型在水准表面的最短轴与y轴中间的占比。默认设置为2.0。此装置对Q3DBars失效。setHorizontalAspectRatio(self, ratio):x轴和z轴中间的图型放缩占比。值0.0表明全自动放缩,缺省值为0.0。setLocale(self, locale):设定用以恢复出厂设置各种各样数据标识的语言表达自然环境。setMargin(self, margin):设定用以可制作图型地区边沿和图型环境边沿中间的服务器空间的平方根。假如边距值为负,则边距是全自动明确的,而且能够依据系列产品中新项目的尺寸和图型的种类而转变。假如图型高宽比未从初始值变更,则该值将表述为y轴范畴的一部分。默认设置为-1.0。setMeasureFps(self, enable):设定是不是持续开展3D渲染而不是按需开展3D渲染。setOptimizationHints(self, hints):设定默认设置方式或是静态数据方式或是3D渲染提升方式。默认设置方式以科学合理的特性水准给予详细的功能集。静态数据方式可提升图型3D渲染,是大中型不会改变数据的佳挑选。可视化数据变更和新项目交替速率比较慢。沒有提升挑选,因而不建议将静态数据方式与海量信息集一起应用。静态数据提升仅适用散点图。setOrthoProjection(self, enable):设定是不是应用正投影来表明图型。setPolar(self, enable):设定是不是将水准轴更改成极纵坐标。假如为True,则x轴变成角轴,z轴变成轴向轴。极坐标系方式不适感用以条形图。默认设置为False。setRadialLabelOffset(self, offset):设定轴向极纵坐标的轴标识的归一化水准偏位。该值0.0标示应在0角视角轴分隔线边上制作标识。该值1.0表明标识是在图型环境边沿的一般部位制作的。默认设置为1.0。setReflection(self, enable):设定是不是开启floor反射面。仅危害Q3DBars。
设定透射率(本身,透射率):设定木地板的透射率。数据越大,木地板的反光性越强。合理范畴是[0…1]。初始值为0.5。仅危害Q3DBars。
setSelectionMode(self, mode):设定图型条目地挑选方法。setShadowQuality(self, quality):设定黑影的品质等级。
QAbstract3DGraph常见数据信号:
activeInputHandlerChanged(self, inputHandler): 当图型的主题活动键入程序处理发生改变时,传出该数据信号。activeThemeChanged(self, theme):当图型的活动标题发生改变时,发送该数据信号。aspectRatioChanged(self, ratio):当图型在水准表面的最短轴与y轴中间的占比发生改变时,发送此数据信号。currentFpsChanged(self, fps):当当今的图像3D渲染帧数发生改变时,发送该数据信号。horizontalAspectRatioChanged(self, ratio):当x轴和z轴中间的图型放缩占比发生改变时,发送此数据信号。localeChanged(self, locale):当用以恢复出厂设置各种各样数据标识的语言表达自然环境发生改变时,发送此数据信号。marginChanged(self, margin): 当可制作图型地区边沿和图型环境边沿中间的服务器空间的间隔产生变化时,发送此数据信号。measureFpsChanged(self, enabled):当渲染模式发生改变时,发送此数据信号。optimizationHintsChanged(self, hints):当提升方式发生改变时,发送此数据信号。orthoProjectionChanged(self, enabled):当开启/禁止使用正投影来表明图型时,发送此数据信号。polarChanged(self, enabled):当水准轴更改成极纵坐标或撤销极纵坐标时,发送此数据信号。queriedGraphPositionChanged(self, data):当查看到图型的部位值发生改变时,发送此数据信号。radialLabelOffsetChanged(self, offset):当轴向极纵坐标的轴标识的归一化水准偏位值发生改变时,发送此数据信号。reflectionChanged(self, enabled):当开启/禁止使用floor发送时,发送此数据信号。reflectivityChanged(self, reflectivity):当floor发送的透射率发生改变,发送此数据信号。selectedElementChanged(self, type):当图型中图型中挑选的原素发生改变时,发送此数据信号。selectionModeChanged(self, mode):当图型的挑选方式发生了更改,则发送此数据信号。shadowQualityChanged(self, quality):当图型的黑影品质设定发送了更改,则发送此数据信号。
Q3DBars
Q3DBars类给予了3D渲染3D条形图的方式。应用Q3DBars,您能够开发设计3D条形图,并根据转动情景来看看他们。按着鼠标点击,挪动电脑鼠标进行转动。放缩是用鼠标滚轮进行的。用鼠标左键进行挑选(假如开启)。您能够经过点击鼠标滚轮将情景重设为默认设置监控摄像头主视图。
假如为q3dbar设定轴而无法显示,q3dbar将建立没有标识的临时性默认设置轴。这种默认设置轴能够根据相对应的方式浏览。一旦为某一方位设定了轴,该方位的默认设置轴将被全自动消毁。
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 Class
QBar3DSeries类表明三维条形图中的一系列数据信息。它管理方法特殊于系列产品的可视性原素及其系列产品数据信息(根据数据信息代理商)。要是没有为编码序列显式设定数据信息代理商,编码序列将建立默认设置代理商。设定另一个代理商将消毁目前代理商和加上到在其中的任何数据信息。
qbar 3d系列产品的普遍作用:
setDataProxy(self, proxy):储存主题活动数据信息代理商。setMeshAngle(self, angle):设定数据信息编码序列转动视角(以度为企业)。setSelectedBar(self,position):设定选定的条形图编码序列。
qbar 3d系列产品的普遍数据信号:
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=[]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())
运作結果如下图:运作效果如下所示:
3D条形图实例
文中知识要点
PyQt5默认设置安装文件为给予数据可视化控制模块,要应用其数据可视化控制模块,必须独立安裝。QAbstract3DGraph类为图型给予了一个窗体和3D渲染循环系统。Q3DBars类给予用以3D渲染3D柱形图的方式。
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。