返回顶部
首页 > 资讯 > 精选 >如何在pyqt5中展示pyecharts生成的图像
  • 664
分享到

如何在pyqt5中展示pyecharts生成的图像

2023-06-26 06:06:37 664人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关如何在pyQt5中展示pyecharts生成的图像,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下面通过一个实际的散点图案例,展示了如何使用pyqt5嵌套一个pyecha

这期内容当中小编将会给大家带来有关如何在pyQt5中展示pyecharts生成的图像,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

下面通过一个实际的散点图案例,展示了如何使用pyqt5嵌套一个pyecharts图层的方法,通过这个技巧,可以在pyqt5的框架中也实现精美的数据可视化的功能模块。

技术背景

虽然现在很少有人用python去做一些图形化的界面,但是不得不说我们在日常大部分的软件使用中都还是有可视化与交互这样的需求的。因此pyqt5作为一个主流的Python的GUI框架地位是非常重要的,也是一个非常重要的技能。而pyecharts是相当于echarts的python版本,可以比较方便的制作一些非常精美的可视化图片,因为生成的一般是html格式的,所以对于平台的可迁移性相对较好。这里我们主要探索一下在pyqt5制作出来的界面中集成一个pyecharts生成的页面,效果图如下所示:

如何在pyqt5中展示pyecharts生成的图像

环境依赖

这里主要依赖于pyecharts和pyqt5这两个库,但是由于pyqt5在5.10.1版本前后经历了比较大的变革,建议是安装最新版本的pyqt5,然后额外安装一个QtWEBEngineWidgets的组件(若运行如下程序没有任何报错的话就不需要装):

python3 -m pip show pyechartsName: pyechartsVersion: 1.9.1Summary: Python options, make charting easierHome-page: https://GitHub.com/pyecharts/pyechartsAuthor: chenjiandongxAuthor-email: chenjiandongx@qq.comLicense: MITLocation: /home/dechin/miniconda3/lib/python3.9/site-packagesRequires: jinja2, prettytable, simpleJSONRequired-by:$ python3 -m pip show pyqt5Name: PyQt5Version: 5.15.6Summary: Python bindings for the Qt cross platfORM application toolkitHome-page: Https://www.riverbankcomputing.com/software/pyqt/Author: Riverbank Computing LimitedAuthor-email: info@riverbankcomputing.comLicense: GPL v3Location: /home/dechin/miniconda3/lib/python3.9/site-packagesRequires: PyQt5-Qt5, PyQt5-sipRequired-by: PyQtWebEngine

部分代码解析

这里我们仅仅摘取一小部分的代码进行解析,该示例也是从网上找的一个框架做的修改。首先是数据生成的模块:

import numpy as npnums = 200data = np.random.random((nums,2))data = np.sort(data)x_data = data[:,0]y_data = data[:,1]

这里使用numpy来生成一系列的随机数,然后排序后再进行绘图,绘图时采用的pyecharts的Scatter形式散点图。在pyecharts中配置散点图的参数时,主要方法是调用Scatter中的函数来进行构造,比如我们常用的一些窗口工具,区域缩放等功能,就可以在Scatter中添加一个toolbox来实现:

toolbox_opts=opts.ToolboxOpts(                    is_show=True,                    orient="horizontal",                    feature=opts.ToolBoxFeatureOpts(                        save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(type_="jpeg", title="保存为jpeg", pixel_ratio=2),                        restore=opts.ToolBoxFeatureRestoreOpts(),                        data_zoom=opts.ToolBoxFeatureDataZoomOpts(                            xaxis_index=[0],                            yaxis_index=[0]                        ),                    )                )

这个toolbox中主要实现了网页另存为图像的功能、区域缩放的功能,以及返回操作的功能。在通过pyecharts构造了图层之后,需要通过:

render("/tmp/scatter.html")

的方法将生成的效果图保存成一个本地的html文件。最后通过pyqt中的图层中导入网页,实现图像的展示效果:

self.mainhboxLayout = QHBoxLayout(self)self.frame = QFrame(self)self.mainhboxLayout.addWidget(self.frame)self.hboxLayout = QHBoxLayout(self.frame)self.myHtml = QWebEngineView()self.myHtml.load(QUrl("file:////tmp/scatter.html"))self.hboxLayout.addWidget(self.myHtml)self.setLayout(self.mainhboxLayout)

总体代码与展示效果

总体可运行的代码如下所示:

import pyecharts.options as optsfrom pyecharts.charts import Scatterfrom PyQt5.QtCore import QUrlfrom PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QFramefrom PyQt5.QtWebEngineWidgets import QWebEngineViewimport sysimport numpy as npclass Stacked(QWidget):    def __init__(self):        super(Stacked, self).__init__()        self.initData()        self.initUI()        self.mainLayout()    def initUI(self):        self.setGeometry(400, 400, 800, 600)        self.setWindowTitle(" ")    def initData(self):        nums = 200        data = np.random.random((nums,2))        data = np.sort(data)        x_data = data[:,0]        y_data = data[:,1]        (            Scatter(init_opts=opts.InitOpts(width="1600px", height="1000px"))                .add_xaxis(xaxis_data=x_data)                .add_yaxis(                series_name="",                y_axis=y_data,                symbol_size=20,                label_opts=opts.LabelOpts(is_show=False),            )                .set_series_opts()                .set_global_opts(                xaxis_opts=opts.AxisOpts(                    type_="value", splitline_opts=opts.SplitLineOpts(is_show=True)                ),                yaxis_opts=opts.AxisOpts(                    type_="value",                    axistick_opts=opts.AxisTickOpts(is_show=True),                    splitline_opts=opts.SplitLineOpts(is_show=True),                ),                tooltip_opts=opts.TooltipOpts(is_show=False),                toolbox_opts=opts.ToolboxOpts(                    is_show=True,                    orient="horizontal",                    feature=opts.ToolBoxFeatureOpts(                        save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(type_="jpeg", title="保存为jpeg", pixel_ratio=2),                        restore=opts.ToolBoxFeatureRestoreOpts(),                        data_zoom=opts.ToolBoxFeatureDataZoomOpts(                            xaxis_index=[0],                            yaxis_index=[0]                        ),                    )                )            )                .render("/tmp/scatter.html")        )    def mainLayout(self):        self.mainhboxLayout = QHBoxLayout(self)        self.frame = QFrame(self)        self.mainhboxLayout.addWidget(self.frame)        self.hboxLayout = QHBoxLayout(self.frame)        self.myHtml = QWebEngineView()        # 打开本地html文件        self.myHtml.load(QUrl("file:////tmp/scatter.html"))        self.hboxLayout.addWidget(self.myHtml)        self.setLayout(self.mainhboxLayout)if __name__ == '__main__':    app = QApplication(sys.argv)    ex = Stacked()    ex.show()    sys.exit(app.exec_())

打开界面效果如下图所示:

如何在pyqt5中展示pyecharts生成的图像

通过点击区域缩放的功能按钮,可以在图上选取一部分的区域进行更加细致的展示,并且具有单步返回和一步复原的功能按钮。选取一部分之后的展示效果如下图所示:

如何在pyqt5中展示pyecharts生成的图像

上述就是小编为大家分享的如何在pyqt5中展示pyecharts生成的图像了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何在pyqt5中展示pyecharts生成的图像

本文链接: https://lsjlt.com/news/307194.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在pyqt5中展示pyecharts生成的图像
    这期内容当中小编将会给大家带来有关如何在pyqt5中展示pyecharts生成的图像,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下面通过一个实际的散点图案例,展示了如何使用pyqt5嵌套一个pyecha...
    99+
    2023-06-26
  • 在pyqt5中展示pyecharts生成的图像问题
    本文通过一个实际的散点图案例,展示了如何使用pyqt5嵌套一个pyecharts图层的方法,通过这个技巧,可以在pyqt5的框架中也实现精美的数据可视化的功能模块。 技术背景 虽然现...
    99+
    2024-04-02
  • 如何在Django中使用Pyecharts生成图表
    如何在Django中使用Pyecharts生成图表?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 因为pyecharts是支持python的一种可视化,但是想要将其放入网页中...
    99+
    2023-06-15
  • PyQt5中怎么通过Matplotlib生成图像
    PyQt5中怎么通过Matplotlib生成图像,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是MatplotlibMatplotlib是一个Python 2D绘图库,...
    99+
    2023-06-16
  • 在Django中Pyecharts生成图表实现
    1 因为pyecharts是支持python的一种可视化,但是想要将其放入网页中,主要有两种方法 (1)在网页中假如iframe,将网页嵌在iframe中(该方法不具体描述) (2)...
    99+
    2024-04-02
  • matlab如何生成图像
    这篇文章主要介绍“matlab如何生成图像”,在日常操作中,相信很多人在matlab如何生成图像问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”matlab如何生成图像”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-04
  • python如何保存生成的图像
    在Python中,可以使用matplotlib库来生成和保存图像。以下是保存生成的图像的步骤: 首先,确保已经安装了matplot...
    99+
    2024-04-02
  • python如何利用Pyecharts使高清图片导出并在PPT中动态展示
    这篇文章主要介绍python如何利用Pyecharts使高清图片导出并在PPT中动态展示,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.前言pyecharts 是一个用于生成 Echarts 图表的类库。Echar...
    99+
    2023-06-26
  • matlab生成的图像如何调出来
    在MATLAB中生成的图像可以通过多种方式调出来: 在MATLAB命令窗口中使用figure命令可以将当前图像显示出来。 在...
    99+
    2024-03-15
    matlab
  • 基于OpenCV如何生成图像直方图
    这篇文章将为大家详细讲解有关基于OpenCV如何生成图像直方图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。01. 什么是图像直方图?在开始定义直方图之前,为简单起见我们先使用灰度图像,稍后再解释彩色图像...
    99+
    2023-06-14
  • 在 Go 中使用动态图像生成 PDF
    积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《在 Go 中使用动态图像生成 PD...
    99+
    2024-04-04
  • C++ OpenCV如何生成蒙太奇图像
    这篇文章主要介绍“C++ OpenCV如何生成蒙太奇图像”,在日常操作中,相信很多人在C++ OpenCV如何生成蒙太奇图像问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++ ...
    99+
    2023-06-26
  • java 使用ImageIO.write如何生成jpeg图像
    本篇文章给大家分享的是有关java 使用ImageIO.write如何生成jpeg图像,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java 使用ImageIO.writer从...
    99+
    2023-05-31
    java imageio.writer age
  • C++OpenCV生成蒙太奇图像的示例详解
    目录前言一、输入模板图像二、读取素材图像三、生成蒙太奇模板四、生成蒙太奇图像五、源码总结前言 本文将使用OpenCV C++ 生成蒙太奇图像。 一、输入模板图像 原图如图所示。我们...
    99+
    2024-04-02
  • 如何在Python中使用ECharts生成地图
    如何在Python中使用ECharts生成地图地图是一种直观展示地理信息的可视化方式,而Python作为一门强大的编程语言,提供了丰富的数据处理和可视化工具。其中ECharts是一款流行的数据可视化库,支持通过Python进行地图绘制和展示...
    99+
    2023-12-17
    Python echarts 地图
  • 基于PyQt5如何制作一个gif动态图片生成器
    这篇文章的内容主要围绕基于PyQt5如何制作一个gif动态图片生成器进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!这个小工具制作的目的是为了将多张图...
    99+
    2023-06-28
  • C#合并BitMap图像如何生成超大bitmap
    这篇文章主要介绍C#合并BitMap图像如何生成超大bitmap,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!当只需要两个图像合并的时候,可以简单的使用gdi+,把两个图像画到一个画布上面实现合并bitmap.当需要...
    99+
    2023-06-25
  • 基于python利用Pyecharts使高清图片导出并在PPT中动态展示
    目录1.前言2.导出png格式图片3.如何在PPT中展示pyecharts图片1.前言 pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一...
    99+
    2024-04-02
  • python用Pygal如何生成漂亮的SVG图像详解
    前言 SVG可以算是目前最最火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language...
    99+
    2022-06-04
    详解 图像 漂亮
  • PHP中如何生成缩略图
    这篇文章给大家介绍PHP中如何生成缩略图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PHP生成缩略图HTML代码< !DOCTYPE HTML PUBLIC "...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作