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

相关文章

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Java高效实现PowerPoint转PDF的示例详解

《Java高效实现PowerPoint转PDF的示例详解》在日常开发或办公场景中,经常需要将PowerPoint演示文稿(PPT/PPTX)转换为PDF,本文将介绍从基础转换到高级设置的多种用法,大家... 目录为什么要将 PowerPoint 转换为 PDF安装 Spire.Presentation fo

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数