02 pycharts 结果生成为 html 、图片(示例代码+效果图)

2024-02-28 02:40

本文主要是介绍02 pycharts 结果生成为 html 、图片(示例代码+效果图),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、生成HTML

2 、生成图片

        make_snapshot详解


1、生成HTML

# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")

from pyecharts.charts import Bar
from pyecharts import options as optsbar = Bar() #单独调用
bar.add_xaxis(["语文", "数学", "英语", "生物", "物理", "化学", "地理"])
bar.add_yaxis("10月", [114, 95, 107, 81, 85, 87, 85])
bar.add_yaxis("11月", [106, 116, 125, 91, 88, 86, 87])
bar.add_yaxis("12月", [97, 134, 137, 89, 95, 93, 89])
bar.set_global_opts(title_opts=opts.TitleOpts(title="学生月考成绩", subtitle="马冬梅"))
bar.render()

2、 生成图片

# 如果运行完当前目录图片没有出来,可以右键项目从磁盘重新加载 Reload from Disc
# 运行报错

WebDriverException( selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home

解决方法可以参考链接:https://blog.csdn.net/c_lanxiaofang/article/details/126001670

from snapshot_selenium import snapshot as driver
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshotdef bar_chart() -> Bar:c = (Bar().add_xaxis(["语文", "数学", "英语", "生物", "物理", "化学", "地理"]).add_yaxis("10月", [114, 95, 107, 81, 85, 87, 85]).add_yaxis("11月", [106, 116, 125, 91, 88, 86, 87]).add_yaxis("12月", [97, 134, 137, 89, 95, 93, 89]).reversal_axis()  # 翻转 XY 轴数据.set_series_opts(label_opts=opts.LabelOpts(position="right"))  # 将标签放置在图形右边.set_global_opts(title_opts=opts.TitleOpts(title="学生月考成绩", subtitle="马冬梅")) #title 主标题  subtitle副标题)return c# 需要安装 snapshot-selenium 或者 snapshot-phantomjs
make_snapshot(driver, bar_chart().render(), "学生月考成绩-马冬梅.png")  # 生成图片到当前文件夹下

make_snapshot详解

PNG_FORMAT = "png"
JPG_FORMAT = "jpeg"
GIF_FORMAT = "gif"
PDF_FORMAT = "pdf"
SVG_FORMAT = "svg"
EPS_FORMAT = "eps"
B64_FORMAT = "base64"def make_snapshot(engine: Any,file_name: str,output_name: str,delay: float = 2,pixel_ratio: int = 2,is_remove_html: bool = False,**kwargs,
):logger.info("Generating file ...")file_type = output_name.split(".")[-1]content = engine.make_snapshot(html_path=file_name,file_type=file_type,delay=delay,pixel_ratio=pixel_ratio,**kwargs,)if file_type in [SVG_FORMAT, B64_FORMAT]:save_as_text(content, output_name)else:# pdf, gif, png, jpegcontent_array = content.split(",")if len(content_array) != 2:raise OSError(content_array)image_data = decode_base64(content_array[1])if file_type in [PDF_FORMAT, GIF_FORMAT, EPS_FORMAT]:save_as(image_data, output_name, file_type)elif file_type in [PNG_FORMAT, JPG_FORMAT]:save_as_png(image_data, output_name)else:raise TypeError(f"Not supported file type '{file_type}'")if "/" not in output_name:output_name = os.path.join(os.getcwd(), output_name)if is_remove_html and not file_name.startswith("http"):os.unlink(file_name)logger.info(f"File saved in {output_name}")

这篇关于02 pycharts 结果生成为 html 、图片(示例代码+效果图)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754237

相关文章

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C