当前位置: 首页 > news >正文

做水利网站需要多少钱/互联网宣传推广

做水利网站需要多少钱,互联网宣传推广,山西省建设厅网站首页安全考核b证,无锡做网站服务当前pyecharts版本为1.9.0 概述 render包结构 render包位于pyecharts包顶级目录中,用于渲染图表。render包结构如下: ├─render # 渲染设置包 │ │ display.py # 定义HTML、JavaScript显示类,用于支持在notebook中嵌入输出结果 │ │…

当前pyecharts版本为1.9.0

概述

render包结构

render包位于pyecharts包顶级目录中,用于渲染图表。render包结构如下:

├─render # 渲染设置包
│  │  display.py # 定义HTML、JavaScript显示类,用于支持在notebook中嵌入输出结果
│  │  engine.py # 定义渲染相关类、函数
│  │  snapshot.py # 定义渲染图片函数
│  │  __init__.py # 暴露渲染图片函数
│  │
│  ├─templates # 定义渲染模板
│  │      components.html
│  │      macro
│  │      nb_components.html
│  │      nb_jupyter_globe.html
│  │      nb_jupyter_lab.html
│  │      nb_jupyter_lab_tab.html
│  │      nb_jupyter_notebook.html
│  │      nb_jupyter_notebook_tab.html
│  │      nb_nteract.html
│  │      simple_chart.html
│  │      simple_globe.html
│  │      simple_page.html
│  │      simple_tab.html

engine模块

engine模块,路径为pyecharts/render/engine.py,作用为提供渲染接口(HTML和notebook)。

engine模块的结构如下图所示。

  • write_utf8_html_file(file_name: str, html_content: str)函数:根据HTML字符串生成HTML文件。
  • RenderEngine(env: Optional[Environment] = None)类:根据jinja2的环境变量提供渲染抽象接口。
  • render(chart, path: str, template_name: str, env: Optional[Environment], **kwargs) -> str函数:封装RenderEngine(env: Optional[Environment] = None)render_chart_to_file方法输出HTML文件。返回值为输出的HTML文件的路径。
  • render_embed(chart, template_name: str, env: Optional[Environment], **kwargs) -> str函数:封装RenderEngine(env: Optional[Environment] = None)render_chart_to_template方法输出HTML字符串。返回值为字符串。
  • render_notebook(self, notebook_template, lab_template)函数:将图表嵌入到notebook中,针对不同notebook类型提供不同输出方式。notebook和jupyter lab封装RenderEngine(env: Optional[Environment] = None)render_chart_to_notebook方法实现。返回值为pyecharts.render.display.HTML类对象。
  • load_javascript(chart)函数:为jupyter lab提供JavaScript支持,根据chart对象的JavaScript依赖库生成JavaScript代码。返回值为pyecharts.render.display.Javascript类对象。

在这里插入图片描述

engine模块的应用

根据图表对象基类Base的源码可知,图表类的渲染方法底层底层由engine模块的相应类、函数实现。

pyecharts/charts/base.py模块源码

from ..render import engineclass Base(ChartMixin):"""`Base` is the root class for all graphical class, it providespart of the initialization parameters and common methods"""def __init__(self, init_opts: Union[InitOpts, dict] = InitOpts()):_opts = init_optsif isinstance(init_opts, InitOpts):_opts = init_opts.optsdef render(self,path: str = "render.html",template_name: str = "simple_chart.html",env: Optional[Environment] = None,**kwargs,) -> str:self._prepare_render()return engine.render(self, path, template_name, env, **kwargs)def render_embed(self,template_name: str = "simple_chart.html",env: Optional[Environment] = None,**kwargs,) -> str:self._prepare_render()return engine.render_embed(self, template_name, env, **kwargs)def render_notebook(self):self.chart_id = uuid.uuid4().hexself._prepare_render()return engine.render_notebook(self, "nb_jupyter_notebook.html", "nb_jupyter_lab.html")

pyecharts/render/engine.py模块源码

import os
from collections import Iterablefrom jinja2 import Environmentfrom ..commons import utils
from ..datasets import EXTRA, FILENAMES
from ..globals import CurrentConfig, NotebookType
from ..types import Any, Optional
from .display import HTML, Javascriptdef write_utf8_html_file(file_name: str, html_content: str):with open(file_name, "w+", encoding="utf-8") as html_file:html_file.write(html_content)class RenderEngine:def __init__(self, env: Optional[Environment] = None):self.env = env or CurrentConfig.GLOBAL_ENV@staticmethoddef generate_js_link(chart: Any) -> Any:if not chart.js_host:chart.js_host = CurrentConfig.ONLINE_HOSTlinks = []for dep in chart.js_dependencies.items:# TODO: if?if dep.startswith("https://api.map.baidu.com"):links.append(dep)if dep in FILENAMES:f, ext = FILENAMES[dep]links.append("{}{}.{}".format(chart.js_host, f, ext))else:for url, files in EXTRA.items():if dep in files:f, ext = files[dep]links.append("{}{}.{}".format(url, f, ext))breakchart.dependencies = linksreturn chartdef render_chart_to_file(self, template_name: str, chart: Any, path: str, **kwargs):"""Render a chart or page to local html files.:param chart: A Chart or Page object:param path: The destination file which the html code write to:param template_name: The name of template file."""tpl = self.env.get_template(template_name)html = utils.replace_placeholder(tpl.render(chart=self.generate_js_link(chart), **kwargs))write_utf8_html_file(path, html)def render_chart_to_template(self, template_name: str, chart: Any, **kwargs) -> str:tpl = self.env.get_template(template_name)return utils.replace_placeholder(tpl.render(chart=self.generate_js_link(chart), **kwargs))def render_chart_to_notebook(self, template_name: str, **kwargs) -> str:tpl = self.env.get_template(template_name)return utils.replace_placeholder(tpl.render(**kwargs))def render(chart, path: str, template_name: str, env: Optional[Environment], **kwargs
) -> str:RenderEngine(env).render_chart_to_file(template_name=template_name, chart=chart, path=path, **kwargs)return os.path.abspath(path)def render_embed(chart, template_name: str, env: Optional[Environment], **kwargs
) -> str:return RenderEngine(env).render_chart_to_template(template_name=template_name, chart=chart, **kwargs)def render_notebook(self, notebook_template, lab_template):instance = self if isinstance(self, Iterable) else (self,)if CurrentConfig.NOTEBOOK_TYPE == NotebookType.JUPYTER_NOTEBOOK:require_config = utils.produce_require_dict(self.js_dependencies, self.js_host)return HTML(RenderEngine().render_chart_to_notebook(template_name=notebook_template,charts=instance,config_items=require_config["config_items"],libraries=require_config["libraries"],))if CurrentConfig.NOTEBOOK_TYPE == NotebookType.JUPYTER_LAB:return HTML(RenderEngine().render_chart_to_notebook(template_name=lab_template, charts=instance))if CurrentConfig.NOTEBOOK_TYPE == NotebookType.NTERACT:return HTML(self.render_embed())if CurrentConfig.NOTEBOOK_TYPE == NotebookType.ZEPPELIN:print("%html " + self.render_embed())def load_javascript(chart):scripts = []for dep in chart.js_dependencies.items:f, ext = FILENAMES[dep]scripts.append("{}{}.{}".format(CurrentConfig.ONLINE_HOST, f, ext))return Javascript(lib=scripts)
http://www.lbrq.cn/news/936163.html

相关文章:

  • 什么网站上可以做简历/爱站seo查询软件
  • 苏州网站建设网站/品牌推广渠道
  • 买房子上哪个网站最好/东莞网站优化公司
  • 手机排行榜/seo的优点有哪些
  • 微信小程序设计网站/汕头网站优化
  • 手机端怎么打开响应式的网站/码迷seo
  • 网站建设 关于我们/kol推广
  • 做网站主要来源/促销活动推广语言
  • 网站建设的基本规范有什么/网站建设公司苏州
  • 无锡网络公司网站建设/体球网足球世界杯
  • 民宿网站开发方案/网络seo啥意思
  • 高端视觉网站/怎样做品牌推广
  • seo网站优化报价/网站域名备案查询
  • 网站 刷流量/360收录提交入口网址
  • 播放视频网站怎么做/电脑清理优化大师
  • 做一元购网站会被封吗/网络平台怎么推广
  • 潜江资讯网二手房出售/优化方案官方网站
  • 网站后台程序怎么做/seo工具查询
  • 学营销app哪个更好/长沙seo网站管理
  • 漳州网站建设公司/什么平台免费推广效果最好
  • 手机网站最小宽度/怎么宣传自己的产品
  • 橙子建站验证码是干啥的/西安竞价推广托管
  • h5网站建设价格/文章代写
  • wordpress search everything/郑州网站建设专业乐云seo
  • 一个独立IP做几个网站比较合适/找精准客户的app
  • 怎么制作页面模板/旺道seo营销软件
  • 聊城企业做网站/关键词seo是什么
  • 可以做网站的软件/怎么做百度搜索排名
  • 手机版网站源码/网络舆情处理公司
  • 阿里网站官网入口/成都sem优化
  • 【高阶版】R语言空间分析、模拟预测与可视化高级应用
  • 【lucene】currentFrame与staticFrame
  • 绿算技术携手昇腾发布高性能全闪硬盘缓存设备,推动AI大模型降本增效
  • JAVA:Spring Boot 集成 Protobuf 的技术指南
  • 新能源行业B端极简设计:碳中和目标下的交互轻量化实践
  • JavaScript手录07-数组