热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pyecharts无法在jupyterlab中显示的问题

一、概述最近有一些数据需要绘图分析,由于本人对excel不熟悉,查阅资料发现pandas+pyecharts对数据进行可视化分析非常方便,

一、 概述

最近有一些数据需要绘图分析,由于本人对excel不熟悉,查阅资料发现pandas + pyecharts对数据进行可视化分析非常方便,所以开始尝试使用。我这里通过anaconda自带的jupyterlab进行测试,但是使用过程中发现pyecharts的图表无法在jupyterlab上面显示,经过查阅资料解决了此问题,在这里做一个记录方便以后查阅。

这里使用的 pyecharts 版本:1.7.0

二、使用pyecharts

查看pyecharts的版本号:

import pyecharts

pyecharts.__version__

代码运行后并不能绘制出图像来,我是使用jupyter lab运行代码的,用notebook就可以。如下图所示:

from pyecharts.charts import Bar

x_value = ['A', 'B', 'C']
y1 = [123, 52, 214]
y2 = [45, 63, 161]

bar = (
    Bar()
    .add_xaxis(x_value)
    .add_yaxis(series_name='公司甲', yaxis_data=y1)
    .add_yaxis(series_name='公司乙', yaxis_data=y2)
)

bar.render_notebook()
pyecharts无法在jupyterlab中显示的问题
image.png

三、原因及解决方法

  • 原因
    不同的 notebook 环境有自己不同的渲染要求,pyecharts 在底层做了适配处理,但因为我们无法在import pyecharts的时候知道用户具体使用的是哪种 notebook 环境,所以需要用户在使用时在顶部声明环境类型。
  • 解决方法
    Jupyter Lab 渲染的时候有两点需要注意:

Jupyter Notebook 直接调用render_notebook随时随地渲染图表,默认为Jupter-Notebook

  1. Jupyter Lab中运行下面的两行代码即可:
from pyecharts.globals import CurrentConfig, NotebookType  
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
  1. 在第一次渲染的时候调用 load_Javascript() 会预先加载基本 Javascript 文件到 Notebook 中。如若后面其他图形渲染不出来,则请开发者尝试再次调用,因为 load_Javascript 只会预先加载最基本的 js 引用。而主题、地图等 js 文件需要再次按需加载。
  2. load_Javascript()render_notebook() 方法需要在不同的 cell 中调用,这是 Notebook 的内联机制,其实本质上我们是返回了带有 html, Javascript 对象的 class。notebook 会自动去调用这些方法。

修改后的代码如下:


from pyecharts.globals import CurrentConfig, NotebookType  
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
from pyecharts.charts import Bar
from pyecharts import options as opts
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType

bar = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
    .add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
    .set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
)
bar.load_Javascript()
bar.render_notebook()

运行结果如下图:

pyecharts无法在jupyterlab中显示的问题
image.png

如果你按照上面的方式还是无法显示图形,可以按照下面的参考文档进行操作。

参考文章:
pyecharts无法在jupyterlab中显示问题

https://pyecharts.org/#/zh-cn/notebook


推荐阅读
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
author-avatar
mobiledu2502900167
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有