【python可视化大屏】使用python实现可拖拽数据可视化大屏
介绍:
我在前几期分享了关于爬取weibo评论的爬虫,同时也分享了如何去进行数据可视化的操作。但是之前的可视化都是单独的,没有办法在一个界面上展示的。这样一来呢,大家在看的时候其实是很不方便的,就是没有办法一目了然的看到数据的规律。为了解决这个问题我使用pyecharts实现了一个可视化的大屏。接下来为大家分享一下
视频分享:
【python可视化大屏】使用python实现可拖拽数据可视化大屏
可视化大屏展示:
可视化大屏1
可视化大屏2:
实现流程解析:
本次实现使用的是pyecharts这个库
第一步肯定是安装pyecharts这个库了
安装可以使用pip进行安装,命令如下:
pip install pyecharts
如果安装不成功的话,可以使用清华镜像站进行安装,命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
第二步就是写代码了,其实我们可以到pyecharts的官网上看一下案例的。一看就基本上知道怎么写的了。
下面的这个就是pyecharts的网站了。
我们随便点击一个案例看一下
可以看到案例代码写的非常的详细,需要哪些库,然后数据的格式是怎样的一目了然。
然后我们按照对应的代码写就可以了。
下面就是pyecharts官方给的拖拉拽的可视化效果,可以给代码拿下来运行体验一下
阅读了代码以后,我总结一下其实实现拖拉拽的数据可视化大屏就是给原来单个的可视化图表add到布局的layout就可以了。
下面是我总结的代码模板:
def bar_datazoom_slider01() -> Bar: c = ( Bar() .add_xaxis(Faker.days_attrs) .add_yaxis("商家A", Faker.days_values) .set_global_opts( title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"), datazoom_opts=[opts.DataZoomOpts()], ) ) return c
def bar_datazoom_slider02() -> Bar: c = ( Bar() .add_xaxis(Faker.days_attrs) .add_yaxis("商家A", Faker.days_values) .set_global_opts( title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"), datazoom_opts=[opts.DataZoomOpts()], ) ) return c
给单个的写好以后,add到layout中就可以了,像不像搭积木一样的
def page_draggable_layout(): page = Page(layout=Page.DraggablePageLayout) page.add( bar_datazoom_slider(), line_markpoint(), pie_rosetype(), grid_mutil_yaxis(), liquid_data_precision(), table_base(), ) page.render("page_draggable_layout.html")
之前我们实现了单个的可视化,具体如下:
还有词云
然后单个的代码如下:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar# 读取CSV数据
df = pd.read_csv('./weiboData.csv')# 处理粉丝数(以“万”为单位的情况)
df['粉丝数'] = df['粉丝数'].apply(lambda x: float(x.replace('万', '')) * 10000 if '万' in str(x) else float(x))# 选择粉丝数前20的用户
top20_users = df.nlargest(20, '粉丝数')c = (Bar(init_opts=opts.InitOpts(renderer='svg')).add_xaxis(list(top20_users['评论用户名'])).add_yaxis("粉丝数", list(top20_users['粉丝数'])).add_yaxis("关注数", list(top20_users['关注人数'])).reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position="right")).set_global_opts(title_opts=opts.TitleOpts(title="评论用户粉丝前20情况")).render("fans.html")
)
还有其他的,我就不一一列代码了
然后我们现在的工作就是给他们整合到一起就可以了
具体,比如说我们可以先整合这个showFans.py的代码,
就是这个样子:
ef showFans() -> Bar:df = pd.read_csv('./weiboData.csv')# 处理粉丝数(以“万”为单位的情况)df['粉丝数'] = df['粉丝数'].apply(lambda x: float(x.replace('万', '')) * 10000 if '万' in str(x) else float(x))# 选择粉丝数前20的用户top20_users = df.nlargest(20, '粉丝数')c = (Bar(init_opts=opts.InitOpts(renderer='svg',theme="dark")).add_xaxis(list(top20_users['评论用户名'])).add_yaxis("粉丝数", list(top20_users['粉丝数'])).add_yaxis("关注数", list(top20_users['关注人数'])).reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position="right")).set_global_opts(title_opts=opts.TitleOpts(title="评论用户粉丝前20情况")))return c # 返回图表对象而不是调用 render 函数def pageLayout():# 创建拖拽布局的页面page = Page(layout=Page.DraggablePageLayout)# 添加自定义图表函数page.add(showFans())# 渲染页面page.render("demo.html")
这样就给一个整合好了,然后后面的就是无脑操作了。
之后我们运行代码会产生一个demo.html的文件(这个文件命名自定义,我的代码里写的是demo.html,你也可以叫其他的名字,都可以的),点击这个文件就会展示我们的大屏,下面就是最终的效果了
我们可以看到在图的左上角有一个save config,这个的作用呢其实就是为了保存我拖拉拽排版大屏之后的配置文件。就是说,当我们进行拖拽各个单独的可视化文件的时候,各个子可视化文件之间会有对应的位置信息,这个config文件呢就是记录这些信息的。
当我们进行排版好以后,我们就看可以点击save config然后保存这个config信息。
之后我们展示正式的大屏的时候时候,加载这个config文件就可以展示了。这个就是正式的版本了。
完成了上面的操作以后,然后就是使用demo.html和chart_config.json来实现正式版本的大屏。具体实现代码如下:
from pyecharts.charts import PagePage.save_resize_html(source="demo.html", cfg_file="chart_config.json", dest="final_dashboard.html")
然后我们在运行这个代码,就会产生一个final_dashboard.html文件,我们双击这个文件就会看到最终的效果了。
由于笔者能力有限,所以在阐述的时候难免有些不准确的地方,还请大家多多包涵!
完整源码【python可视化大屏】使用python实现可拖拽数据可视化大屏
相关文章:
【python可视化大屏】使用python实现可拖拽数据可视化大屏
介绍: 我在前几期分享了关于爬取weibo评论的爬虫,同时也分享了如何去进行数据可视化的操作。但是之前的可视化都是单独的,没有办法在一个界面上展示的。这样一来呢,大家在看的时候其实是很不方便的,就是没有办法一目了…...
FineBI实战项目一(4):指标分析之每日订单总额/总笔数
1 明确数据分析目标 统计每天的订单总金额及订单总笔数 2 创建用于保存数据分析结果的表 use finebi_shop_bi;create table app_order_total(id int primary key auto_increment,dt date,total_money double,total_cnt int ); 3 编写SQL语句进行数据分析 selectsubstring(c…...
如何确定CUDA对应的pytorch版本?
参考:此链接...
分布式锁3: zk实现分布式锁5 使用中间件curator
一 curator的说明 1.1 curator的说明 curator是netflix公司开源的一个zk客户端。对Zookeeper提供的原生客户端进行封装,简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册wathcer和Node…...
扩展边界opencv
扩展图像的边缘(如上边增加50像素)通常是通过添加额外的像素行来实现的 使用cv2.copyMakeBorder函数 valueborder_color指定了边框的颜色 import cv2 import numpy as np# 读取图像 image cv2.imread(th.jpg)# 设置边框宽度 top_border_width 50 # …...
开源C语言库Melon:Cron格式解析
本文介绍开源C语言库Melon的cron格式解析。 关于 Melon 库,这是一个开源的 C 语言库,它具有:开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 cron也就是我们常说的Crontab中的时间格式,格式如…...
vue的学习方法
学习Vue.js的方法如下: 先了解基本概念和语法:学习Vue.js的第一步是了解它的基本概念,例如组件、指令、数据绑定等。你可以开始阅读Vue官方文档并参考教程和示例来掌握这些基本概念和语法。 实践项目:在理解了Vue.js的基本概念和…...
Hive之set参数大全-2
C 指定是否启用表达式缓存的评估 hive.cache.expr.evaluation 是 Hive 中的一个配置属性,用于指定是否启用表达式缓存的评估。表达式缓存是一项优化技术,它可以在执行查询时缓存表达式的评估结果,以减少计算开销。 在 Hive 配置中…...
C++面试宝典第17题:找规律填数
题目 仔细观察下面的数字序列,找到规律,并填写空白处的数字。 (1)1, 2, 4, 7, 11, 16, __ (2)-1, 2, 7, 28, __, 126 (3)6, 10, 18, 32, 57, __ (4)19, 6, 1, 2, 11, __ (5)2, 3, 5, 7, 11, __ (6)1, 8, 9, 4, __, 1/6 (7)1, 2, 3, 7, 16, __, 321 (8)1, 2, …...
ubuntu查看内存使用情况
在Ubuntu中,你可以使用一些命令来查看内存使用情况。这些命令可以帮助你了解系统的内存使用情况,包括已用内存、空闲内存、缓存和缓冲区的内存等。 1、使用free命令 free命令是一个非常有用的命令,可以快速查看系统的内存使用情况。在终端中…...
ES6 新增 Set、Map 两种数据结构的理解
ES6 新增 Set、Map 两种数据结构的理解 Set 是一种叫做集合的数据结构, 集合是由一堆无序的、相关联的 , 且不重复的内存结构【 数学中称为元素 】组成的组合; Map 是一种叫做字典的数据结构 字典是一些元素的集合 。每个元素有一个称作 key 的域 , 不同…...
影视视频知识付费行业万能通用网站系统源码,三网合一,附带完整的安装部署教程
在数字化时代,知识付费行业逐渐成为主流。人们对高质量内容的需求日益增长,越来越多的人愿意为有价值的知识和信息服务付费。为了满足这一市场需求,罗峰给大家分享一款全新的影视视频知识付费网站系统源码,为用户提供一站式的知识…...
Java字符串拼接常用方法总结
使用场景:用某个分隔符拼接字符串 下边是我使用过的几种方式废话不多说,直接上代码初始数据 1.使用流2.StringBuilder3.[StringJoiner](https://blog.csdn.net/qq_43417581/article/details/126076152?ops_request_misc%257B%2522request%255Fid%2522%2…...
【2023 CSIG垂直领域大模型】大模型时代,如何完成IDP智能文档处理领域的OCR大一统?
目录 一、像素级OCR统一模型:UPOCR1.1、为什么提出UPOCR?1.2、UPOCR是什么?1.2.1、Unified Paradigm 统一范式1.2.2、Unified Architecture统一架构1.2.3、Unified Training Strategy 统一训练策略 1.3、UPOCR效果如何? 二、OCR大一统模型前…...
Phi-2小语言模型QLoRA微调教程
前言 就在不久前,微软正式发布了一个 27 亿参数的语言模型——Phi-2。这是一种文本到文本的人工智能程序,具有出色的推理和语言理解能力。同时,微软研究院也在官方 X 平台上声称:“Phi-2 的性能优于其他现有的小型语言模型&#…...
hadoop自动获取时间
1、自动获取前15分钟 substr(from_unixtime(unix_timestamp(concat(substr(20240107100000,1,4),-,substr(20240107100000,5,2),-,substr(20240107100000,7,2), ,substr(20240107100000,9,2),:,substr(20240107100000,11,2),:,00))-15*60,yyyyMMddHHmmss),1) unix_timestam…...
【面试高频算法解析】算法练习8 单调队列
前言 本专栏旨在通过分类学习算法,使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态 专栏导航 二分查找回溯(Backtracking&…...
ATTCK视角下的信息收集:Sysmon检测
目录 1、简介 2、使用Sysmon 3、检测Sysmon是否安装运行 4、检测Sysmon是否被卸载 5、使Sysmon在终端隐匿运行的技术 1、简介 Sysmon(系统监视器)是由windows sysinternals 出品的Sysinternals 系列工具中的一个 它是windows系统服务和设备驱动程…...
02、Kafka ------ 配置 Kafka 集群
目录 配置 Kafka 集群配置步骤启动各Kafka节点 配置 Kafka 集群 启动命令: 1、启动 zookeeper 服务器端 小黑窗输入命令: zkServer 2、启动 zookeeper 的命令行客户端工具 (这个只是用来看连接的节点信息,不启动也没关系&#…...
2024年全球网络安全预测报告
1.Gartner Gartners Top Strategic Predictions for 2024 and Beyond《Gartner顶级战略预测:2024年及未来》 https://www.gartner.com/en/articles/gartner-s-top-strategic-predictions-for-2024-and-beyond 2.IDC Top 10 Worldwide IT Industry 2024 Predict…...
Qt - QML与C++数据交互详解
文章目录 1 . 前言2 . Qml调用C的变量3 . Qml调用C的类4 . Qml调用C的方法5 . Qml接收C的信号6 . C接收Qml的信号(在Qml中定义信号槽)7 . C接收Qml的信号(在C中定义信号槽)8 . C调用Qml的函数9 . 总结 【极客技术传送门】 : https…...
Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)
Kettle Web 📚第一章 前言📚第二章 demo源码📗pom.xml引入Kettle引擎核心文件📗java源码📕 controller📕 service📕 其它📕 maven settings.xml 📗测试📕 测试…...
Java--业务场景:在Spring项目启动时加载Java枚举类到Redis中(补充)
文章目录 前言步骤测试结果 前言 通过Java–业务场景:在Spring项目启动时加载Java枚举类到Redis中,我们成功将Java项目里的枚举类加载到Redis中了,接下来我们只需要写接口获取需要的枚举值数据就可以了,下面一起来编写这个接口吧。 步骤 在…...
WPF 基础入门(资源字典)
资源字典 每个Resources属性存储着一个资源字典集合。如果希望在多个项目之间共享资源的话,就可以创建一个资源字典。资源字段是一个简单的XAML文档,该文档就是用于存储资源的,可以通过右键项目->添加资源字典的方式来添加一个资源字典文件…...
文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑电氢耦合和碳交易的电氢能源系统置信间隙鲁棒规划》
本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这标题涉及到一个复杂的能源系统规划问题,其中考虑了电氢耦合、碳交易和置信间隙鲁棒规划。以下是对标题各个部分的解读: 电氢耦…...
ubuntu设定时间与外部ntp同步
前言 在 Ubuntu 上,你可以通过配置 systemd-timesyncd 服务来与外部 NTP 服务器同步系统时间。下面是设置的步骤: 安装 NTP 工具: 如果你的系统中没有安装 ntpdate 工具,可以使用以下命令安装: sudo apt-get updat…...
DataFrame详解
清洗相关的API 清洗相关的API: 1.去重API: dropDupilcates 2.删除缺失值API: dropna 3.替换缺失值API: fillna 去重API: dropDupilcates dropDuplicates(subset):删除重复数据 1.用来删除重复数据,如果没有指定参数subset,比对行中所有字段内容,如果全部相同,则认为是重复数据,…...
控制障碍函数(Control Barrier Function,CBF) 三、代码
三、代码实现 3.1、模型 这是一个QP问题,所以我们直接建模 这其实还是之前的那张图,我们把这个大的框架带入到之前的那个小车追击的问题中去,得到以下的一些具体的约束条件 CLF约束 L g V ( x ) u − δ ≤ − L f V ( x ) − λ V ( x ) …...
哈希表-散列表数据结构
1、什么是哈希表? 哈希表也叫散列表,哈希表是根据关键码值(key value)来直接访问的一种数据结构,也就是将关键码值(key value)通过一种映射关系映射到表中的一个位置来加快查找的速度,这种映射关系称之为哈希函数或者散列函数&…...
C# 强制类型转换和as区别和不同使用场景
文章目录 1.强制类型转换2. as 运算符3.实例总结: 在C#中,as 和 强制类型转换(例如 (T)value)的主要区别在于它们处理类型转换不成功时的行为和适用场景: 1.强制类型转换 使用语法:Type variable (Type)…...
佛山外贸网站建设机构/网络推广靠谱吗
个人专栏 ES6 深入浅出已上线,深入ES6 ,通过案例学习掌握 ES6 中新特性一些使用技巧及原理,持续更新中,←点击可订阅。 点赞再看,养成习惯 本文 GitHub https://github.com/qq44924588... 上已经收录,更多往…...
做网站视频博彩/如何提高网站的搜索排名
提起斗鱼的女主播们,大家第一时间想到的应该都是貌美如花。今天小编就带领大家抓取斗鱼直播主播们的封面照片,通过他们的封面照片来寻找自己最喜欢的女主播,一起来看看吧。 01.程序讲解 今天,我们所获取的封面照片包含了三个直播…...
乌鲁木齐企业网站建设公司/中国国家人才培训网官网
写在前面mysql在开发过程中使用率比较高的数据库,linux下安装也挺简单,主要是一些配置容易忽略,文件权限比较复杂,下面例子使用超级用户(root)安装mysql5.6。默认mysql安装的权限是mysql用户组的mysql用户,不需要手动去…...
建立网站教程视频/汕头网站建设方案推广
随着信息技术的发展,计算机在我们的日常生活中扮演了越来越重要的作用,通过现有的技术以及当今在计算机领域还在研究中的尖端科技分析,计算机的发展将趋向超高速、超小型、平行处理和智能化,量子、光子、分子和纳米计算机将具有感知、思考、判…...
网站建设seo 视频教程/天津百度推广网络科技公司
1.简介 xilinx提供了两个ip用于生成ROM存储空间。一个是 Distributed Memory Generator,另一个是Block Memory Generator,两者最主要的差别是生成的 Core所占用的 FPGA 资源不一样,从 Distributed Memory Generator 生成的 ROM/RAM Core 占用…...
河北网站开发/360地图下载最新版
1、阅读 丁鹏 《量化投资策略与技术》 2、系统学习python,还有pandas,numpy matplot等库操作。 3、学习股票,期货 基本知识。 4、海龟交易法则转载于:https://www.cnblogs.com/zhezhong/p/5708901.html...