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

简介: 导读:这几天被一个奇怪的需求困住:pyecharts作图既炫酷,又交互。但是,这个炫酷的效果往往只存在于分析师自己的编辑器中,充其量也就是生成一个html文件来嗨一嗨,有没有什么办法能够嵌入PPT呢?

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

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

23BA45C3_3A5D_4a77_861A_7C47313159EB

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

截图放进去?

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

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

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

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

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

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

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

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

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

注:笔者是Win10的系统,2016版Office

01 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文件:

7D5BBD3B_4F3A_43e5_A970_6670EE657895

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

CEC010AF_13A0_44fc_960B_35ED680D63CD

02 在PPT中加载插件

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

218335C1_93D5_4e85_A7C7_CCB5AD0447DE

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

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

7D3FF9D2_598E_4d1d_9710_E2A00F975A32

EFC71DCF_02FB_4b6b_BF7A_6DA259E569E2

7B6DF66B_1F17_440c_BF92_3C665CDBEFC8

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

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

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

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

5713672E_5E3D_4cf6_93FD_A49325999A0B

听到连续悦耳的夸赞,我笑出了猪叫...

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

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

最后,感恩小范围测试给我反馈和帮助的旁友们:

上善若水、Chad、Aries、左世骏、flower、鲲鹏、星晴、jacky、elina sea等等~

鞠躬,撒花~

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-05
本文作者:小z
本文来自:“大数据DT 微信公众号”,了解相关信息可以关注“大数据DT

相关文章
|
5月前
|
Python
Python 采集109个中国风风格PPT
Python 采集109个中国风风格PPT
53 3
|
Python
【python实例6.5】一篇文章让你弄懂政府工作报告词云~总结笔记
【python实例6.5】一篇文章让你弄懂政府工作报告词云~总结笔记
478 0
【python实例6.5】一篇文章让你弄懂政府工作报告词云~总结笔记
|
13天前
|
存储 数据可视化 数据挖掘
揭秘!Matplotlib与Seaborn联手,如何让Python数据分析结果一目了然,惊艳全场?
在数据驱动时代,高效直观地展示分析结果至关重要。Python中的Matplotlib与Seaborn是两大可视化工具,结合使用可生成美观且具洞察力的图表。本文通过分析某电商平台的商品销量数据集,展示了如何利用这两个库揭示商品类别与月份间的销售关系及价格对销量的影响。首先使用Matplotlib绘制月份销量分布直方图,再借助Seaborn的箱线图进一步探索不同类别和价格区间下的销量稳定性。
42 10
|
2月前
|
数据可视化 JavaScript 前端开发
惊世奇迹!D3.js 铸就数据可视化辉煌,探索交互式图表与效果的奇幻之旅!
【8月更文挑战第12天】在数据驱动的时代,D3.js 作为领先的 JavaScript 库,以其强大的功能和灵活性在数据可视化领域脱颖而出。开发者可通过 D3.js 构建精美的交互式图表,如简单的柱状图或具备缩放拖拽功能的折线图,甚至将数据以地图、树形结构等独特形式展现。尽管学习曲线陡峭,但它在数据分析、商业智能等领域的广泛应用使其成为专业人士传达数据故事、辅助决策制定的强大工具。
71 1
|
2月前
|
存储 JSON 数据可视化
python实战|1000位小姐姐照制作照片墙,刷新你三观的颜值!
python实战|1000位小姐姐照制作照片墙,刷新你三观的颜值!
35 2
|
2月前
|
数据可视化 数据挖掘 开发者
揭秘数据可视化的魔法:如何用Python的Matplotlib库将枯燥数字变成引人入胜的故事,轻松俘获观众的心!
【8月更文挑战第12天】在数据科学中,将复杂数据转化为直观图形至关重要。Python凭借其强大的库支持,在数据可视化方面表现卓越,其中Matplotlib更是佼佼者。它功能全面且易于使用,已成为Python数据可视化的标配。通过简单命令即可安装Matplotlib。示例中,我们展示了如何绘制基本线图、散点图及多数据集对比图,并介绍了如何添加标题、标签和图例等元素。Matplotlib还支持丰富的图表定制选项,如颜色、线型等,帮助用户创建专业级图表。无论是数据分析还是结果展示,掌握Matplotlib都能显著提升数据表达能力。
15 1
|
2月前
|
前端开发 数据可视化 JavaScript
【揭秘神器】如何用Pyecharts轻松召唤出Echarts?只需几行Python代码,让你的数据瞬间生动起来!
【8月更文挑战第21天】Pyecharts是一款基于Python的图表生成库,利用Echarts强大的JavaScript可视化能力,让开发者无需编写前端代码即可在Python环境中创建美观图表。本文通过实例演示如何安装Pyecharts并生成一个展示城市气温分布的柱状图,包括基本图表生成及自定义样式设置,如颜色调整、图例显示等,最终将图表嵌入HTML文件展示,适合各水平开发者快速掌握数据可视化技能。
35 0
|
5月前
|
数据采集 前端开发 C++
Python通过matplotlib动态绘图实现中美GDP历年对比趋势动图
随着中国的各种实力的提高,经常在各种媒体上看到中国与各个国家历年的各种指标数据的对比,为了更清楚的展示历年的发展趋势,有的还做成了动图,看到中国各种指标数据的近年的不断逆袭,心中的自豪感油然而生。今天通过Python来实现matplotlib的动态绘图,将中美两国近年的GDP做个对比,展示中国GPD对美国的追赶态势,相信不久的将来中国的GDP数据将稳超美国。
111 2
|
Python
使用python绘制奥运五环
使用python绘制奥运五环
209 0
使用python绘制奥运五环
|
Python
Python酷炫的黑科技01-实现黑客帝国电影背景版脚本
相信很多人都看过黑客帝国电影吧! 下面简单附几张图。
Python酷炫的黑科技01-实现黑客帝国电影背景版脚本