如何把pyecharts的炫酷延续到PPT里!?

简介: 本文介绍如何把pyecharts的炫酷延续到PPT里。

这几天,群里有些小伙伴被一个奇怪的需求困住:


“pyecharts作图既炫酷,又交互。但是,这个炫酷的效果往往只存在于分析师自己的编辑器中,充其量也就是生成一个html文件来嗨一嗨,有没有什么办法能够嵌入PPT呢?”


“为什么想要嵌入PPT呢?”我有点疑惑。


“对于分析师来说,PPT才是和业务沟通的主战场,当然了,更是装X的主战场。有时候,一张炫酷的图,能让会议室所有的人喊一声牛X!”


“有啊!截图放进去呗~”机智如我。


“没有交互功能的pyecharts,是没有灵魂的!”


.....


于是我搜罗了一圈,结果发现,关于如何实现这个需求的内容,要么语焉不详,要么极其麻烦,要么已经过时完全不兼容。


最后,我找到了一个目前相对简便的方法,分享给大家。


这句话有强烈的潜台词:此乃抛砖引玉,旁友们,苟有方法,勿相忘!


这个方法的逻辑其实非常简单,可以说是一道小学应用题:


  • 已知,pyecharts绘制的图形可以保存为html格式,通过网页打开,也能查看html源代码
  • 又已知,有一款ppt插件,可以编辑html文本代码,最终生成对应的可视化效果


求:如何让pyecharts图在ppt中出现?


答:先用pyecharts画图生成html文件,然后查看源代码,把相关的源代码复制到那个PPT插件中,点击运行即可。


我们来用个例子实践一下整个操作。


注:小编是Win10的系统,2016版Office


一、Pyecharts生成html文件并获取源码



这里pyecharts绘图直接用的是官方文档的示例代码:


from pyecharts import options as opts
from pyecharts.charts import PictorialBar
from pyecharts.globals import SymbolType
location = ["山西", "四川", "西藏", "北京", "上海", "内蒙古", "云南", "黑龙江", "广东", "福建"]
values = [13, 42, 67, 81, 86, 94, 166, 220, 249, 262]
c = (
    PictorialBar()
    .add_xaxis(location)
    .add_yaxis(
        "",
        values,
        label_opts=opts.LabelOpts(is_show=False),
        symbol_size=18,
        symbol_repeat="fixed",
        symbol_offset=[0, 0],
        is_symbol_clip=True,
        symbol=SymbolType.ROUND_RECT,
    )
    .reversal_axis()
    .set_global_opts(
        title_opts=opts.TitleOpts(title="PictorialBar-各省份人口数量(虚假数据)"),
        xaxis_opts=opts.AxisOpts(is_show=False),
        yaxis_opts=opts.AxisOpts(
            axistick_opts=opts.AxisTickOpts(is_show=False),
            axisline_opts=opts.AxisLineOpts(
                linestyle_opts=opts.LineStyleOpts(opacity=0)
            ),
        ),
    )
    .render("pictorialbar_base.html")


接着,打开生成的html文件:


49.png


右键或者Ctrl+U查看源码:


50.png


我们拿到了很长的可视化源码,不用纠结具体是怎么写的,只需要全部复制就好。


、在PPT中加载插件



打开PPT,“插入”模块找到“获取加载项”,老版本的是“应用商店”


51.png


然后在加载项搜索框输入“html”,添加第一个结果“Office Apps Fiddle for PowerPoint”:


53.png


网速不同,这个插件可能会加载一会,我们耐心等待片刻即可。


绘图源代码放入插件并运行



等加载好了之后,我们点击上面“HTML”模块,复制代码,然后点击右上角长得有点像播放键的按钮:


60.png


不出意外,会报一个很丑的错误:


61.png


不要慌,把它给×掉之后,点击右上角齿轮:


62.png


接着会自动退回到刚才运行前的界面


63.png


按上图指示,我们再次点击右上角长得像播放按钮的地方。


Duang!


最开始画的带交互功能的图形,终于跃然PPT之上:


64.png


鼠标放上去,会有预期的数据反馈。


我们可以调整它的大小和在PPT中出现的位置,以保持整体的排版美观度。


“我去!这么炫酷的PPT!”隔壁不懂数据的小A偷窥我的电脑屏幕,忍不住吃了一惊。


我又照猫画虎,按照同样的流程在PPT插入了一个桑基图:


65.png


虽然这是我目前找到相对最可用的一种实现方式,但是整个过程仍然历经艰难险阻,最后做一个雷区复习汇总:


  • 运行第一次时总是会报错,忽略错误,再次运行即可。
  • 最终我们生成了交互图,美中不足的是旁边的柱子和齿轮没找到隐藏的办法,幸好不太显眼,不影响大局。
  • 保存PPT后,再次打开以及文件发送给其他人打开,相关交互图大概率需要重新加载(忽略报错再次运行),所以,这种插入PPT的方法,适合少而精的几张效果图,以达到既简便,又艳惊四座的效果。
  • 因为我的贫穷,都是在Windows上运行,Mac没有尝试过,把文件发送给Mac的旁友,总是显示为图片而没有交互功能,希望Mac同学也亲测一下有没有解决办法
  • 欢迎大家补充和探究更好的方法...


相关文章
vep视频翻录为mp4(支持大黄蜂云课堂6.05)
今天教大家怎么翻录大黄蜂vep视频,支持大黄蜂云课堂6.05的最新版。 教程很简单,大家跟着自己尝试下即可。
5654 0
vep视频翻录为mp4(支持大黄蜂云课堂6.05)
|
10月前
|
机器学习/深度学习 算法 物联网
面向能效和低延迟的语音控制智能家居:离线语音识别与物联网集成方案——论文阅读
本文提出一种面向能效与低延迟的离线语音控制智能家居方案,通过将关键词识别(KWS)集成至终端设备,结合去中心化Mesh网络与CoAP协议,实现本地化语音处理。相较云端方案,系统能耗降低98%,延迟减少75%以上,显著提升响应速度与能源效率,为绿色智能家居提供可行路径。(236字)
949 17
面向能效和低延迟的语音控制智能家居:离线语音识别与物联网集成方案——论文阅读
|
机器学习/深度学习 数据可视化 数据挖掘
Python在数据分析中的应用及优势
本文探讨了Python在数据分析领域的重要性和优势,介绍了Python在处理大规模数据、构建数据可视化和实现机器学习模型等方面的应用案例,展示了Python作为数据分析利器的强大功能。
|
人工智能 关系型数据库 数据中心
2024 OCP全球峰会:阿里云为代表的中国企业,引领全球AI网络合作和技术创新
今年的OCP(Open Compute Project)峰会于2024年10月14日至17日在美国加州圣何塞举行,在这场全球瞩目的盛会上,以阿里云为代表的中国企业,展示了他们在AI网络架构、液冷技术、SRv6和广域网等前沿领域的强大创新能力,持续引领全球合作与技术创新。
|
机器学习/深度学习 BI
[RoFormer]论文实现:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING
[RoFormer]论文实现:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING
529 1
|
数据采集 搜索推荐 JavaScript
Next.js进阶:静态生成、服务器端渲染与SEO优化
【4月更文挑战第13天】Next.js是现代Web开发的关键框架,以其对静态生成(Static Generation)、服务器端渲染(Server-Side Rendering)和SEO的支持而备受青睐。本文深入解析了这三个核心特性的原理、应用和最佳实践。静态生成在构建时生成HTML,适用于内容更新少的页面,通过`getStaticProps`和`getStaticPaths`获取静态数据。服务器端渲染则在每次请求时生成HTML,适合实时数据,使用`getServerSideProps`获取服务器端数据。
865 1
|
设计模式 数据采集 数据可视化
ECharts与Excel的火花
在数据爆炸的时代,如何有效地呈现和解析数据变得至关重要。ECharts和Excel作为两种广泛使用的数据处理和可视化工具,各自拥有其独特的魅力和功能。本文将深入探讨这两者之间的火花碰撞,以及如何结合它们以实现更强大的数据可视化效果。ECharts与Excel的结合,不仅可以充分发挥两者的优势,还可以实现更强大的数据可视化效果。无论是从数据处理、图表创建还是故事叙述的角度,这种结合都能为数据分析师、业务人员和决策者提供更丰富、更直观的数据洞察。
630 1
|
UED
12.使用HTML制作交互图片
12.使用HTML制作交互图片
559 0
|
存储 数据采集 消息中间件
阿里十年技术沉淀|深度解析百PB级数据总线技术
数据总线作为大数据架构下的流量中枢,在不同的大数据组件之间承载着数据桥梁的作用。通过数据总线,可以实时接入来自服务器、K8s、APP、Web、IoT/移动端等产生的各类异构数据,进行统一数据管理,进而实现与下游系统的解耦;之后可以异步实现数据清洗、数据分发、实时计算、离线计算等计算过程,进而将结构化后的数据投递到下游的分析、归档系统,进而达到构建清晰的数据流的目的。广义上,数据采集与接入、传输链路、存储队列、消费计算、投递等都属于数据总线的范畴,整体上可以分为采集接入层、管道层、计算层。
25269 6
阿里十年技术沉淀|深度解析百PB级数据总线技术