让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

关于您提到的问题“哪个版本的pyecharts支持`from pyecharts import Line`”,这个问题实际上并不涉及具体的某个版本,因为这种导入方式适用于pyecharts的所有公开版本。这意味着自pyecharts发布以来,从最早的版本开始直到最新的稳定版及开发版(如master分支),都应当支持该导入方式。 如果您想确保在特定版本的pyecharts中正确使用`Line`对象,那么建议直接检查您想要使用的那个特定版本的pyecharts文档,或者在其API文档中查找`Line`相关的部分。这能提供最准确的信息,并帮助解决可能存在的兼容性问题。 例如,如果您正在使用的是较新的pyecharts版本,确保其与Python解释器兼容,并且所有必要的依赖包都已经安装并且是最新的版本。如果遇到错误提示,则可以根据这些信息去查看对应的版本说明或者社区论坛寻求解决方案。 另外,对于大多数pyecharts的功能而言,基本的导入方式都不会改变,如导入图表创建工具(如`Line`),因此大部分情况下,只需要确保您的pyecharts库安装正确并且符合您的Python环境需求即可。 总之,对于`from pyecharts import Line`这样的导入方式,几乎在所有的pyecharts版本中都是支持的,您可以按照正常的软件开发流程进行项目构建和代码编写。如果有具体的版本兼容性疑问,应该针对具体的版本和使用场景来验证和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值