告别收费BI!如何自己动手做一个免费的可视化数据报表还支持文档在线预览?
本人大学刚毕业目前在一家互联网公司从事产品运营工作,一季度刚过,公司需要我出一份产品运营数据报表,由于产品用户数据、订单数据等数据量太大,我希望找一款Bi产品,支持我做出一个精美的可视化报表,还可以让我直接在报表内容查看原始数据文档,我从以下两个点去逐步实现我的需求:
1、数据可视化:在网上找了一些Bi工具,无一例外都需要收费,最后决定自己尝试pyecharts来实现,好在有自学Python的基础,实现起来不难;
2、数据文档在线预览:选了pyecharts之后,由于最后展现的是一个web视图,需要在web页面直接查看原始的excel文档,这个实现难度比较大,网上苦寻三天无果,即将放弃时刻找到了永中云预览插件版,如获至宝,最重要的是只要2行代码即可实现,而且完全免费!
以下是我的数据可视化报表截图:
下面来简单讲下如何实现:
1、数据可视化报表
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Geo, Page, Grid
from pyecharts.globals import ChartType, SymbolType
from pyecharts.charts import Liquid
from pyecharts.charts import Funnel
from pyecharts.globals import ThemeType
from pyecharts.charts import Bar,Bar3D
from pyecharts.charts import Pie
from pyecharts.charts import Line, EffectScatter
from pyecharts import charts
Python库:
Pandas:主要来读取excel源数据;
Pyecharts :Bar 柱状图,Pie 饼形图, Geo地图,Liquid 水滴图,Funnel 漏斗图,Line 折线图
当然还有其他图标没有用到有需要的可以到官网查阅相关文档:https://pyecharts.org/#/zh-cn/intro
以其中一个数据视图产品渠道推广和渠道激活为例,我需要做一个饼图来展示
pie_moblie = (
Pie()
.add(
"推广费",
[list(z) for z in zip(qudao_mobile, cost_mobile)],
radius=["20%", "45%"],
center=["22%", "50%"],
rosetype="radius",
label_opts=opts.LabelOpts(is_show=True,formatter='{b}:{d}%' ),
)
.add(
"激活量",
[list(z) for z in zip(qudao_mobile, jihuo_mobile)],
radius=["20%", "45%"],
center=["70%", "50%"],
rosetype="area",
label_opts=opts.LabelOpts(is_show=True,formatter='{b}:{d}%'),
)
.set_global_opts(title_opts=opts.TitleOpts(title="2022年一季度各渠道消耗&激活"),
legend_opts=opts.LegendOpts(is_show=True,)
)
)
效果如下:
做好各个视图后
page.add(bar3,c3,pie_mobile)
page.render('test.html')
通过page.add()将前面制作的视图放在一个页面,最后通过page.render()生成一个html页面
,再对生成的html做适当的样式调整,就得到了我上面展示的最终效果。
2、文档在线预览:
先下载免费插件 点击下载
将下载好的插件放在html相同的目录下,再按照示例代码把相应的代码加到刚刚生成的html里
<div id="click" style="text-align: center; font-size: 10px;font-weight: bold;margin-top:40px;margin-bottom: 70px;">点击查看源数据</div>
<script> const url = 'https:/xxxx.com/1.docx'; // url为预览文件地址 document.getElementById('click').onclick = function() { getFileUrl(url) // 调用getFileUrl方法,预览文件 }
在URL上填写文件的url地址,这样页面上就会出现“点击查看源数据”,点击后就可以直接在线预览office文件,不需要启动本地Office软件,word excel ppt pdf都支持。
预览效果:
以上就是我这几天自己动手的成果,整个数据视图不需要借助任何软件,便于分享,不管是数据视图还是源文件预览都没有设备和浏览器障碍。
告别收费BI!如何自己动手做一个免费的可视化数据报表还支持文档在线预览?的更多相关文章
- 做一个新产品需求,体验的分析文档?(例:喜马拉雅FM)
2.1 战略层 2.11 产品定位: 一款产品覆盖面广,收听节目种类齐全,资源丰富的电台APP. 以PGC为主流,通过合作方式吸纳专业的电台人,节目人,行业名人分享内容. 融合UGC,满足人们在空闲时 ...
- [BI项目记]-配置Sharepoint2013支持文档版本管理笔记
做开发或者做方案,写文档是很重要的一个工作,我们经常需要知道文档被修改的次数,谁在什么时间修改的文档,以及在某一个版本中,都修改了哪些内容,以及不同版本的文档之间有什么差别. 如何对文档进行版本管理, ...
- Swagger: 一个restful接口文档在线生成+功能测试软件
一.什么是 Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 ...
- Python3基础 函数名.__doc__显示一个函数的单行与多行函数文档
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- 分享一个集成在项目中的REST APIs文档框架swagger
1 为什么是使用swagger? 1-1 当后台开发人员开发好接口,是不是还要重新书写一份接口文档提给前端人员,当然对于程序员最不喜欢的就是书写文档(当然文档是必须的,有利于项目的维护) 1-2 当后 ...
- entfrm开发平台,一个免费开源可视化的无代码开发平台
简介 entfrm开发平台,是一个以模块化为核心的无代码开发平台,是一个集PC和APP快速开发.系统管理.运维监控.开发工具.OAuth2授权.可视化数据源管理与数据构建.API动态生成与统计.工作流 ...
- 教你动手做一个 iOS 越狱 app
前言 俗话说得好, 万事开头难. 仅仅是上图一个如此简单地不能再简单的小app, 其实都不算是app, 只是注入了一段代码进系统中, 等到特定的函数方法调用的时候就会被我们hook掉, 执行我们写的代 ...
- [js高手之路]html5 canvas动画教程 - 自己动手做一个类似windows的画图软件
这个绘图工具,我还没有做完,不过已经实现了总架构,以及常见的简易图形绘制功能: 1,可以绘制直线,圆,矩形,正多边形[已完成] 2,填充颜色和描边颜色的选择[已完成] 3,描边和填充功能的选择[已完成 ...
- 图标网站,IcoMoon,自己动手做一个 font
很有用的IcoMoon,在线制作工工具:https://icomoon.io/app/#/select/font 大神解说:如何灵活利用免费开源图标字体-IcoMoon篇http://www.zhan ...
随机推荐
- linux 常用命令:
查看启动进程命令 ps -ef | grep donet 1.vi 进入编辑界面 2.ls,ll 查看命令 3.cd 进入命令 4.i 进入插入界面 5. esc 退出编辑界面 6.输入:冒号,进入 ...
- Numpy库基础___四
Numpy数据存取 •数据的csv文件的存取 只能有效存取和读取一维和二维数据 a = np.arange(100).reshape(5,20) #用delimiter分割,默认为空格 np.save ...
- Java多线程【三种实现方法】
java多线程 并发与并行 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行 并行:一组程 ...
- PMP之挣值管理(PV、EV、AC、SV、CV、SPI、CPI)的记忆方法
挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV. PV:计划值,在即定时间点前计划完成活动 ...
- UVA1389 Hard Life (01分数规划+最大流)
UVA1389 Hard Life (01分数规划+最大流) Luogu 题目描述略 题解时间 $ (\frac{\Sigma EdgeCount}{\Sigma PointCount})_{max} ...
- cookies、sessionStorage和localStorage的区别
cookies.sessionStorage和localStorage的区别 对比 特性 Cookie LocalStorage SessionStorage 数据的生命周期 ...
- VS2012 生成可以在XP下运行的exe文件
1. 在已安装VS2012条件下,安装update,作者已经安装了update3; 2. 相关设置: 设置"平台工具集":在项目右击-属性-常规-在"平台工具集" ...
- KestrelServer详解[3]: 自定义一个迷你版的KestrelServer
和所有的服务器一样,KestrelServer最终需要解决的是网络传输的问题.在<网络连接的创建>,我们介绍了KestrelServer如何利用连接接听器的建立网络连接,并再次基础上演示了 ...
- 把项目发布到tomcat中的方式
1.相对路径方式1:把项目index.html放在tomcat的webapps/ROOT下,浏览器访问地址:http://www.aaa.com:8080/index.html 2.相对路径方式2:在 ...
- overflow原理?
overflow: hidden能清除块内子元素的浮动影响. 因为该属性进行超出隐藏时需要计算盒子内所有元素的高度, 所以会隐式清除浮动 创建BFC条件(满足一个): float的值不为none: o ...