让Pyecharts支持音视频VideoAudio

最近学习Pyechart绘制各种图表进行数据可视化

Pyecharts现在支持表格和图片

今天突然想试试能不能支持视频

尝试了一番,成功了,只需对代码进行小小改动

首先找到Table和Image的相关代码:

在以下目录

xxx\Lib\site-packages\pyecharts\components

将image.py文件复制一份,命名为video.py,打开文件对其修改如下:

再在__init__.py文件添加一行代码

from .video import Video

 

再在如下目录找到 macro文件

xxx\Lib\site-packages\pyecharts\render\templates

打开文件,添加一个elif语句,把img标签改为:

还需将macro文件前部修改,否则渲染html会出错:

macro文件修改如下两处:

 

# 修改1:
        {% if c.js_functions %}
            {% for js in c.js_functions.items %}
                {{ js }}
            {% endfor %}
        {% endif %}
# 修改2:
        {% if c.width.endswith and c.width.endswith('%') %}
            window.addEventListener('resize', function(){
                chart_{{ c.chart_id }}.resize();
            })
        {% endif %}

传递两个属性width和height值:

调用时需要添加视频/音频文件地址src和标签长宽属性width和height

 

大功告成,现在支持视频了 

下面是仿照image_example.py改的video_example.py,运行代码即可生成篇头的html文件

from pyecharts.components import Video
from pyecharts.options import ComponentTitleOpts


def video_base() -> Video:
    video = Video()

    video_src = "https://img.soulapp.cn/video/2020-02-27/6653a205-8dee-4a84-b8bf-97da932dad8c.mp4"
    video.add(
        src=video_src,
        style_opts={"width": "720px", "height": "960px", "style": "margin-top: 20px"},
    ).set_global_opts(
        title_opts=ComponentTitleOpts(title="Video-基本示例", subtitle="我是副标题支持换行哦")
    )
    return video

video_base().render()

音频也是类似操作

下面是修改后的文件,替换相应文件即可实现pyecharts支持音频和视频

pyechars_video_audio.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值