python可视化界面自动生成,python如何做可视化界面

大家好,小编来为大家解答以下问题,python gui可视化操作界面制作,python做出的炫酷的可视化,现在让我们一起来看看吧!

目录

前言

一.环境配置

 插件:

        1.python

        2.Chinese

        3.Open In Default Browser

      安装python数据可视化的库 pyecharts库

二.制作可视化大屏

        从网站中找示例图

1、小编自己做过的各省份车辆销售数量图

 2、数据对比类型

 3、渐变圆柱

 4、饼图

 制作大屏

1、制作一个大屏

2、运行下面的代码后会在ipynb所在的目录下生成一个HTML文件,会将示例图汇总到HTML中,在html中调整各个图形的位置和大小

3、最后通过一下代码来调整显示示例图在大屏中的位置

 总结


前言

本文章是用网站的示例图用python汇总后用html在网页中实现数据可视化,最后达到数据大屏的效果

一.环境配置

小编用的软件:Visual Studio Code                   

 插件:

        1.python

         这个插件是Visual Studio代码扩展,丰富地支持Python语言(适用于该语言的所有受支持版本:>=3.7),包括IntelliSense(Pylance)、linting、调试、代码导航、代码格式化、重构、变量资源管理器、测试资源管理器等功能!       

        2.Chinese

        这个插件是将Visual Studio Code页面中文化的插件,对一些英语不太好的程序员是比较友好的

        3.Open In Default Browser

         这个插件我是方便使用一些html的文件时可以在Visual Studio Code中直接跳转到网页中所用的,如:

      安装python数据可视化的库 pyecharts库

        打开anaconda prompt
        安装pip install pyecharts==1.9 -i Simple Index


        查看是否成功 pip show pyecharts

 

 所用到的环境就安装好啦!接下来就可以用python制作可视化大屏啦

二.制作可视化大屏

        从网站中找示例图

        1.我们可以从下面的网站中任意找3-6个可视化示例图

        Document

        这个网站中包含各种图形demo的项目案例代码和演示。

        2.而下面的官网文档包含pyecharts中各个功能和图形的介绍和代码参数解析利用python简易的画一个雪人。

        pyecharts - A Python Echarts Plotting Library built with love.

        pyecharts的画图语法结构

小编找的四个图是

1、面积图
​
import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker


a = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values(), is_smooth=True)
    .add_yaxis("商家B", Faker.values(), is_smooth=True)
    .set_series_opts(
        areastyle_opts=opts.AreaStyleOpts(opacity=0.5),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="面积图"),
        xaxis_opts=opts.AxisOpts(
            axistick_opts=opts.AxisTickOpts(is_align_with_label=True),
            is_scale=False,
            boundary_gap=False,
        ),
    )
    # .render("line_areastyle_boundary_gap.html")
)
a.render_notebook()

 2、数据对比类型
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

b = (
    Bar()
    .add_xaxis(Faker.days_attrs)
    .add_yaxis("商家A", Faker.days_values, color='#5cd8d0')
    .set_global_opts(
        title_opts=opts.TitleOpts(title="数据对比类型"),
        datazoom_opts=opts.DataZoomOpts(type_="inside"),
    )
    #.render("bar_datazoom_inside.html")
)
b.render_notebook()

 3、渐变圆柱
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker

c = (
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values(), category_gap="60%")
    .set_series_opts(
        itemstyle_opts={
            "normal": {
                "color": JsCode(
                    """new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0,
                color: 'rgba(0, 244, 255, 1)'
            }, {
                offset: 1,
                color: 'rgba(0, 77, 167, 1)'
            }], false)"""
                ),
                "barBorderRadius": [30, 30, 30, 30],
                "shadowColor": "rgb(0, 160, 221)",
            }
        }
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="渐变圆柱"))
    # .render("bar_border_radius.html")
)
c.render_notebook()

 4、饼图
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker

d = (
    Pie()
    .add(
        "",
        [list(z) for z in zip(Faker.choose(), Faker.values())],
        radius=["40%", "55%"],
        label_opts=opts.LabelOpts(
            position="outside",
            formatter="{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c}  {per|{d}%}  ",
            background_color="#eee",
            border_color="#aaa",
            border_width=1,
            border_radius=4,
            rich={
                "a": {"color": "#999", "lineHeight": 22, "align": "center"},
                "abg": {
                    "backgroundColor": "#e3e3e3",
                    "width": "100%",
                    "align": "right",
                    "height": 22,
                    "borderRadius": [4, 4, 0, 0],
                },
                "hr": {
                    "borderColor": "#aaa",
                    "width": "100%",
                    "borderWidth": 0.5,
                    "height": 0,
                },
                "b": {"fontSize": 16, "lineHeight": 33},
                "per": {
                    "color": "#eee",
                    "backgroundColor": "#334455",
                    "padding": [2, 4],
                    "borderRadius": 2,
                },
            },
        ),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title=""))
    # .render("pie_rich_label.html")
)
d.render_notebook()

 制作大屏

1、制作一个大屏

        这个大屏仅仅显示一个大标题和时间

from pyecharts.charts import Pie
from datetime import datetime
now_time = datetime.now().strftime('%Y-%m-%d') # 获取当前时间
big_title = (
    Pie() # 不画图,只显示一个标题,用来构成大屏的标题
        .set_global_opts(
        title_opts=opts.TitleOpts(title="可视化大屏",
                                  title_textstyle_opts=opts.TextStyleOpts(font_size=40,
#                                                                           color='#FFFFFF',
                                                                         ),
                                  subtitle = f'截至:{now_time}',
                                  pos_top=10
                                 )
        )
)
big_title.render_notebook()
2、运行下面的代码后会在ipynb所在的目录下生成一个HTML文件,会将示例图汇总到HTML中,在html中调整各个图形的位置和大小
from pyecharts.charts import Page

page = Page()
page.add(
    big_title,
    b,
    c,
    d,
    a
)
# page.render_notebook()
page.render('page.html') # 在html中可以调整各个图形的位置和大小,按“Save Config”键保存配置chart_config.json(有的电脑不成功)。

 其中的、big_title、a、b、c、d分别对应的是

        big_title 制作的标签大屏

        a 面积图

        b 数据对比类型

        c 渐变圆柱

        d 饼图

3、最后通过一下代码来调整显示示例图在大屏中的位置
with open("page.html", "r+", encoding='utf-8') as html:
    html_bf = BeautifulSoup(html, 'lxml')
    divs = html_bf.select('.chart-container') # 根据css定位标签,选中图像的父节点标签
    divs[0]["style"] = "width:50%;height:50%;position:absolute;top:0%;left:45%;border-style:dashed;border-color:#89641;border-width:0px;"
    divs[1]["style"] = "width:40%;height:40%;position:absolute;top:10%;left:5%;border-style:solid;border-color:#444444;border-width:2px;"
    divs[2]["style"] = "width:40%;height:40%;position:absolute;top:10%;left:55%;border-style:solid;border-color:#444444;border-width:2px;"
    divs[3]["style"] = "width:40%;height:40%;position:absolute;top:55%;left:5%;border-style:solid;border-color:#444444;border-width:2px;"
    divs[4]["style"] = "width:40%;height:40%;position:absolute;top:55%;left:55%;border-style:solid;border-color:#444444;border-width:2px;"
    body = html_bf.find("body") # 根据标签名称定位到body标签
    # body["style"] = img.imread('') # 修改背景颜色
    body["style"] = "background-color:#ffffff;" # 修改背景颜色
    # body["style"] = "background-image:(博客\kj.jpeg);" # 修改背景颜色
    html_new = str(html_bf) # 将BeautifulSoup对象转换为字符
    html.seek(0, 0) # 光标移动至
    html.truncate() # 删除光标后的所有字符内容
    html.write(html_new) # 将由BeautifulSoup对象转换得到的字符重新写入html文件
    html.close()

让我们看看最后的效果吧!

 总结

        在以上的制作可视化大屏中小编的只是基础版的,我们还可以将可视化的大屏换一些背景,使其更加的美观,也可以调整几个示例图在大屏中的比例。如果想要更深入的了解用python制作可视化大屏,那就在https://pyecharts.org/#/zh-cn/intro网站中和小编一起学习吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/280004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

zabbix添加监控主机(agent)并告警

一、添加监控主机 总体来说,在被监控主机上安装部署zabbix-agent,并修改配置文件(zabbix_agentd.conf)的参数。然后在zabbix 服务端zabbix-get检查是否可以监控。如果可以了,就可以在web页面添加了,要监控…

据报道,微软的下一代 Surface 笔记本电脑将是其首款真正的“人工智能 PC”

明年,微软计划推出 Surface Laptop 6和 Surface Pro 10,这两款设备将提供 Arm 和 Intel 两种处理器选项。不愿意透露姓名的不透露姓名人士透露,这些新设备将引入先进的人工智能功能,包括配备下一代神经处理单元 (NPU)。据悉&#…

vue-mixin(混入---入门到离职系列)

定义 官方定义(官网定义:组合选项 | Vue.js (vuejs.org)) mixins 选项接受一个 mixin 对象数组。这些 mixin 对象可以像普通的实例对象一样包含实例选项,它们将使用一定的选项合并逻辑与最终的选项进行合并。举例来说,如果你的 mixin 包含了一个 create…

【Vue】computed详解

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

jQuery日历签到插件下载

jQuery日历签到插件下载-遇见你与你分享

听GPT 讲Rust源代码--src/tools(39)

File: rust/src/tools/rustfmt/src/config/config_type.rs 在Rust代码中,rust/src/tools/rustfmt/src/config/config_type.rs文件的作用是定义了与配置相关的数据结构和函数。 Config struct(配置结构体):该结构体用于存储rustfmt…

WEB渗透—PHP反序列化(十一)

Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…

FTP的基本介绍

FTP ftp的介绍: ftp是一个可以提供共享文件的服务器,他可以通过iis.msc也就是windows 的服务器管理器来打开,或者通过cmd命令行打开 如何使用iis.msc打开ftp,如何使用cmd打开ftp ,如何匿名登录ftp,ftp和…

MySQL入门教程-触发器

9.触发器 什么是触发器 触发器(trigger):监视某种情况,并进行某种操作,它的执行并不是程序调用,也不是手工启动,而是由事件来触发,例如:对一张表进行操作(插入,更新&…

关于表格太大了jupyter无法单次处理的问题

记录下自己的心路历程…耗时耗精力 我用的数据库单个表格就很大,一个表格有30多G,jupyter无法处理这么大的表格,会直接把电脑的进程全部结束掉,结束掉要是能运行成功倒也行啊,然鹅…给我报错说处理不了,罢工…

Rust之构建命令行程序(二):读取文件

开发环境 Windows 10Rust 1.74.1 VS Code 1.85.1 项目工程 这次创建了新的工程minigrep. 读取文件 现在,我们将添加读取file_path参数中指定的文件的功能。首先,我们需要一个样本文件来测试它:我们将使用一个包含少量文本的文件,多行包含一…

技能分析:这就是人们写在简历上的内容

您希望您的技能部分听起来像其他人一样吗?另一方面,您是否想遗漏一项顶级技能,因为许多其他简历也列出了它?在脱颖而出和涵盖雇主寻求的所有技能之间找到平衡可能是一个挑战。 优秀的简历技能部分会考虑到每个雇主所寻求的特质。…

08.哲说建造者模式(Builder Pattern)

“The odds that we’re in ‘base reality’ is one in billions.” —— Elon Musk 这段话出自马斯克在2016年的一次演讲,“人类活在真实世界的几率,可能不到十亿分之一”。此言一出,可谓一石激起千层浪。有人嘲讽马斯克是“语不惊人死不休…

GBASE南大通用-GBase 8s数据库日志模式及切换

一、 GBase 8s数据库共有以下 4 种日志模式:无日志模式、缓冲日志模式、无缓冲日志模式、ANSI 模式。详细介绍如下: 1、无日志模式(Non logging): 采用无日志模式时,所有 DML 操作都不会被记录到日志中&…

LVS负载均衡配置虚拟引起微服务注册混乱

线上小程序突然报错,查看网关日志,访问下游微服务A时大量报错: 1)检查微服务是否未注册。登录eureka页面,发现三个节点均正常注册 三个微服务节点地址分别为:13.9.1.91:8080,13.9.1.92:8080和1…

ssm504基于web的经典电影推荐网站的设计与实现论文

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装经典电影推荐网站软件来发挥其高效地信息处理的作用&#x…

ROS【一】(ROS的安装(ubuntu20.04))

ROS的安装 ROS的安装 ROS的安装[TOC](ROS的安装) 前言一、更新镜像源1.进入下载地址2.选择自己的系统类型3.选择自己的系统版本 二、ROS安装1.配置公钥2.添加ros源2.安装ros(注意ubuntu版本和ros版本要对应) 三、配置Ros1.设置环境变量2.安装依赖 四、测试Ros1.先重启2.启动Ros…

PiflowX大数据流水线系统

PiflowX大数据流水线系统。支持分布式计算引擎flink和spark。以所见即所得的方式,实现大数据采集、处理、存储与分析流程化配置、运行与智能监控。 PiflowX基于Piflow(PiFlow: 混合型科学大数据流水线系统,包含丰富的处理器组件,…

Flink(十一)【状态管理】

Flink 状态管理 我们一直称 Flink 为运行在数据流上的有状态计算框架和处理引擎。在之前的章节中也已经多次提到了“状态”(state),不论是简单聚合、窗口聚合,还是处理函数的应用,都会有状态的身影出现。状态就如同事务…