大家好,小编为大家解答python数据可视化pyecharts的问题。很多人还不知道python怎么数据可视化,现在让我们一起来看看吧!

先用纯Python代码写一个简单的小案例:

1495018-20190121190800640-2057898716.png

from PyQt5.QtCore import QUrl

from PyQt5.QtWidgets import QApplication,QWidget,QHBoxLayout,QFrame

from PyQt5.QtWebEngineWidgets import QWebEngineView

import sys

class Stacked(QWidget):

def __init__(self):

super(Stacked, self).__init__()

self.initUI()

self.mainLayout()

def initUI(self):

self.setGeometry(400,400,800,600)

self.setWindowTitle("demo1")

def mainLayout(self):

self.mainhboxLayout = QHBoxLayout(self)

self.frame = QFrame(self)

self.mainhboxLayout.addWidget(self.frame)

self.hboxLayout = QHBoxLayout(self.frame)

self.myHtml = QWebEngineView()

url = "http://www.baidu.com"

#打开本地html文件

self.myHtml.load(QUrl("file:///D:/360Downloads/Python编程/数据分析+数据可视化/pyecharts/PyQt5+pyecharts/bar1.html"))

# self.myHtml.load(QUrl("bar1.html")) #无法显示,要使用绝对地址定位,在地址前面加上 file:/// ,将地址的 \ 改为/

#打开网页url

# self.myHtml.load(QUrl(url))

self.hboxLayout.addWidget(self.myHtml)

self.setLayout(self.mainhboxLayout)

if __name__ == '__main__':

app = QApplication(sys.argv)

ex = Stacked()

ex.show()

sys.exit(app.exec_())

案例2:使用Eric6-Qtdesigner完成界面,再重写事件响应

效果如下:

1495018-20190121190358060-1530575152.gif

参考:

https://www.cnblogs.com/jyroy/p/9457882.html

https://blog.csdn.net/La_vie_est_belle/article/details/84837174

https://www.cnblogs.com/zxpo/p/7562968.html

ps:

用的结构是左边一个QListWidget + 右边QStackedWidget,将QWebEngineView加在QStackedWidget里面的QFrame里面(用的pyecharts做的数据可视化 生成的html文件,直接嵌入在GUI界面中)

注意:

PyQt5 最新版本之后统一使用 :

from PyQt5.QtWebEngineWidgets import QWebEngineView

试了很多次 QStackedWidget.addWidget(self.browser) 总是出错,故在QStackedWidget 里面嵌套了一个QFrame,再把self.browser 添加到QFrame里面

解决 No module named PyQt5.QtWebKitWidgets

原因:在 PyQt5.6(+) 版本中, 新增 QtWebEngineWidgets 代替QtWebKitWidgets。

完整代码:

ContractedBlock.gif

ExpandedBlockStart.gif

1 #-*- coding: utf-8 -*-

2

3 #Form implementation generated from reading ui file 'D:\360Downloads\Python编程\数据分析+数据可视化\pyecharts\PyQt5+pyecharts\Qt设计师\Stack_Widget.ui'

4 #5 #Created by: PyQt5

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐