当前位置: 首页 > news >正文

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 Fakera = (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 Fakerb = (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 Fakerc = (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 Fakerd = (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 Pagepage = 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网站中和小编一起学习吧!

相关文章:

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

大家好,小编来为大家解答以下问题,python gui可视化操作界面制作,python做出的炫酷的可视化,现在让我们一起来看看吧! 目录 前言 一.环境配置 插件: 1.python 2.Chinese 3.Open In Default Browser 安装pyt…...

力扣热题100道-双指针篇

文章目录 双指针283.移动零11.盛最多水的容器15.三数之和42.接雨水 双指针 283.移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 …...

数据库一般会采取什么样的优化方法?

数据库一般会采取什么样的优化方法? 1、选取适合的字段属性 为了获取更好的性能,可以将表中的字段宽度设得尽可能小。 尽量把字段设置成not null 执行查询的时候,数据库不用去比较null值。 对某些省份或者性别字段,将他们定义为e…...

编程笔记 html5cssjs 015 HTML列表

编程笔记 html5&css&js 015 HTML列表 一、有序列表例1&#xff1a;例2&#xff1a; 二、无序列表例1&#xff1a;例2&#xff1a; 列表是一种特定文字格式&#xff0c;很常用。 HTML 列表。HTML 支持有序、无序和定义列表。 一、有序列表 例1&#xff1a; <!DOCTY…...

【力扣题解】P404-左叶子之和-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P404-左叶子之和-Java题解&#x1f30f;题目描述&#x1f4a1;题解&#x1f30f;总结…...

elasticsearch 索引数据多了怎么办,如何调优,部署

当Elasticsearch索引的数据量增加时&#xff0c;可能会遇到性能瓶颈&#xff0c;需要进行调优。以下是一些建议和步骤&#xff0c;可帮助你处理数据量增加的情况&#xff1a; 1. 硬件升级&#xff1a; 增加节点数或升级硬件&#xff0c;包括更快的CPU、更大的内存和更快的存储…...

Spring Cloud Gateway之Predicate断言详解

目录 Predicate&#xff08;断言&#xff09;内置Predicate请求参数匹配请求路径匹配Header 属性匹配Cookie 匹配请求方式匹配请求 ip 地址匹配时间匹配组合匹配 Predicate&#xff08;断言&#xff09; 在 Spring Cloud Gateway 中&#xff0c;Predicate&#xff08;断言&…...

JavaScript中的prototype和_proto_的关系是什么

JavaScript中的prototype和_proto_的关系是什么 __proto__ 是 JavaScript 中对象的一个内部属性&#xff0c;它指向该对象的原型。JavaScript 中每个对象都有一个 __proto__ 属性&#xff0c;通过它可以访问对象的原型。prototype 是函数对象特有的属性&#xff0c;每个函数都…...

机器学习(二) -- 数据预处理(3)

系列文章目录 未完待续…… 目录 前言 tips&#xff1a;这里只是总结&#xff0c;不是教程哈。本章开始会用到numpy&#xff0c;pandas以及matplotlib&#xff0c;这些就不在这讲了哈。 “***”开头的是给好奇心重的宝宝看的&#xff0c;其实不太重要可以跳过。 此处以下所有…...

【数学建模美赛M奖速成系列】Matplotlib绘图技巧(三)

Matplotlib绘图技巧&#xff08;三&#xff09; 写在前面7. 雷达图7.1 圆形雷达图7.2 多边形雷达图 8. 极坐标图 subplot9. 折线图 plot10. 灰度图 meshgrid11. 热力图11.1 自定义colormap 12. 箱线图 boxplot 写在前面 终于更新完Matplotlib绘图技巧的全部内容&#xff0c;有…...

手写Spring与基本原理--简易版

文章目录 手写Spring与基本原理解析简介写一个简单的Bean加载容器定义一个抽象所有类的BeanDefinition定义一个工厂存储所有的类测试 实现Bean的注册定义和获取基于Cglib实现含构造函数的类实例化策略Bean对象注入属性和依赖Bean的功能Spring.xml解析和注册Bean对象实现应用上下…...

EasyNTS端口穿透服务新版本发布 0.8.7 增加隧道流量总数记录,可以知晓设备哪个端口耗费流量了

EasyNTS上云平台可通过远程访问内网应用&#xff0c;包含网络桥接、云端运维、视频直播等功能&#xff0c;极大地解决了现场无固定IP、端口不开放、系统权限不开放等问题。平台可提供一站式上云服务&#xff0c;提供直播上云、设备上云、业务上云、运维上云服务&#xff0c;承上…...

python自动合计各部周销

下载依赖 pip install openpyxl -i https://pypi.doubanio.com/simplepip install pandas -i https://pypi.doubanio.com/simple引入依赖 from openpyxl import load_workbook from openpyxl import styles from openpyxl.styles import * import pandas as pd import string…...

Java内存区域与内存溢出异常

Java与C++之间有一堵由内存分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 2.1 概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的“皇帝”,又是从事最基础工作的劳动人民——即拥有每一个对象的“所有权”,又…...

远程网络唤醒家庭主机(openwrt设置)

远程网络唤醒家庭主机&#xff08;openwrt设置&#xff09; 前提&#xff1a; 1.配置好主板bios的网络唤醒功能(网络教程自己百度一下找) 2.电脑开启网络唤醒功能(网络教程自己百度一下找) 3.路由器通过ddns实现域名和动态IP绑定内网穿透方法汇总_不修改光猫进行内网穿透-C…...

Spring知识02

1、这边是做单元测试的 2、项目部署上线的时候需要把Test那里注解掉 3、pom.xml的坐标系&#xff0c;用来导出包给别人用 4、项目名称&#xff0c;artifactId&#xff0c;name属性名保持一致 5、maven中央仓库那里可以看到导包之后会随着附加的内容 6、class.getSingleName获取…...

Linux服务器搭建笔记-006:拓展/home目录容量

一、问题说明 Ubuntu服务器在使用过程中创建的新用户&#xff0c;每位用户会在/home目录下生成一个属于其个人的主文件夹。如果不限制各个用户的使用空间&#xff0c;所有的用户都会共用/home所挂载的硬盘。在这种多用户情况下&#xff0c;会很快的填满/home目录&#xff0c;导…...

元宇宙与VR虚拟现实的未来如何?

从科幻小说到商业现实 自从 Facebook年更名为 Meta 以来&#xff0c;关于元宇宙的热议不断&#xff0c;人们对虚拟世界的兴趣也重新燃起&#xff0c;因为尽管虚拟现实 (VR) 的概念由来已久&#xff0c;但该技术现在才开始真正得以应用。 定义元宇宙和虚拟现实 首先是 The Met…...

微服务事务处理:CAP 定理和最终一致性的关系

CAP 定理和最终一致性 CAP 定理和最终一致性是两个密切相关的概念&#xff0c;但它们在范围和细节上有所不同。以下是比较&#xff1a; CAP 定理 **正式陈述&#xff1a;**在分布式系统中&#xff0c;最多只能同时满足以下三个保证中的两个&#xff1a;一致性、可用性和分区…...

【Linux操作系统】探秘Linux奥秘:操作系统的入门与实战

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;诗赋清音&#xff1a;柳垂轻絮拂人衣&#xff0c;心随风舞梦飞。 山川湖海皆可涉&#xff0c;勇者征途逐星辉。 目录 &#x1fa90;1 初识Linux OS …...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...