首页 > 其他分享 >数据可视化 理论知识(3)pyecharts数据可视化

数据可视化 理论知识(3)pyecharts数据可视化

时间:2022-11-24 19:32:13浏览次数:62  
标签:pyecharts render add 可视化 理论知识 import bar opts


pyecharts分为v0.5.X和v1两个大版本,v0.5.X和v1间不兼容,v1是一个全新的版本。

经开发团队决定,0.5.x版本将不再进行维护,0.5.x版本将其置于05x分支,文档位于​​05x-docs.pyecharts.org​​。(支持Python2.7,3.4 +)

新版本系列修正v1.0.0(仅支持Python3.6 +)开始,文档置于​​pyecharts.org​​,本博客使用的是V1.x版本。

echarts特点:

  • 简洁的API设计,使用如丝滑般流畅,支持链式调用
  • 囊括了30+种常见图表,应有尽有
  • 支持主流Notebook环境
  • Jupyter Notebook和JupyterLab 可轻松集成至Flask,Django等主流Web框架 高度灵活的配置项,可轻松搭配出精美的图表
  • 详细的文档和示例,帮助开发者重启的上手项目 超过400多个地图文件以及原生的百度地图,为地理数据可视化提供有意义的支持

jupyter上面让pyecharts显示图的几种方法:

1.顶部加 %config InlineBackend.figure_format = 'svg'

2.bar.render_notebook()

3.bar.render()

pyecharts画图的最基本的两种方式

第一种画图方式:
把画图过程主体化,先实例化一个图形主体对象,然后在在对象上面添加配置和数据。

from pyecharts.charts import Bar

bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render(path="mycharts.html")
bar.render()

#bar.render_notebook()

第二种画图方式:链式调用

pyecharts所有方法均支持链式调用:

from pyecharts.charts import Bar

bar = (
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render()

如何使用配置项?

打印配置项:

bar.print_echarts_options()  #方便调试

使用options配置项,在pyecharts中,一切皆为Options。

from pyecharts.charts import Bar
from pyecharts import options as opts

# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用
bar = (
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
#下面是添加配置项
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
# 或者直接使用字典参数
# .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)
bar.render()

# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
bar.render()

使用主题

pyecharts提供了10+种内置主题,开发者也可以定制自己喜欢的主题。
使用主题需要的注意: 在使用Pandas&Numpy时,请确保将数值类型转换为python原生的int / float。某些整体类型请确保为int,而不是numpy.int32

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.render()

使用jupyter notebook

不同的Notebook环境有自己的不同的渲染要求,pyecharts在经过适当调整的处理下,但因为我们无法在import pyecharts的时候知道用户具体使用的是笔记本环境,所以需要用户在使用时在顶部声明环境类型。即声明想用的功能。

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.render()

#调用render_notebook随时随地渲染图表
bar.render_notebook()

使用jupyter lab

Jupyter Lab渲染的时候有两点需要注意:

  1. 在顶部声明Notebook类型,必须在约会pyecharts.charts等模块前声明:
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
  1. 在第一次渲染的时候调用​​load_javascript()​​会预先加载基本​​JavaScript文件​​到笔记本中。如若后面其他图形渲染不出来,则请开发者尝试再次调用,因为​​load_javascript​​只会预先加载最基本的js引用。而主题,地图等js文件需要再次按需加载。
  2. ​load_javascript()​​​和​​render_notebook()​​方法需要在不同的cell中调用,这是Notebook的内联机制,实际上本质上我们是返回了带有​​_html_​​,​​_javascript_​​对象的class。notebook会自动去调用这些方法。
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()  #可以打开127.0.0.1:5000查看
bar.render_notebook()

jupyterlab 总结为:

#使用JupytrLab需添加如下代码
from pyecharts.globals import CurrentConfig,NotebookType
CurrentConfig,NOTEBOOK_TYPE=NotebookType.JUPYTER_LAB
#除了以上代码,还需在渲染之前执行加载JavaScript脚本的代码,这里以柱状图对象bar为例
bar.load_javascript()
#然后再渲染即可
bar.render_notebook()

Nteract的使用

Nteract 渲染的时候有两点需要注意。
1.在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明:

from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.NTERACT
nteract 调用 render_notebook 方法即可渲染:
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.NTERACT

import pyecharts.options as opts
from pyecharts.charts import Bar, Line

bar = (
Bar()
.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.render_notebook()

Zeppelin使用

Zeppelin 渲染的时候有两点需要注意:

  1. 在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.ZEPPELIN

Zeppelin 调用 render_notebook 方法即可渲染:

# %python
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.ZEPPELIN

import pyecharts.options as opts
from pyecharts.charts import Bar

bar = (
Bar()
.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.render_notebook()
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.ZEPPELIN

import pyecharts.options as opts
from pyecharts.charts import Bar

bar = (
Bar()
.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.render_notebook()


标签:pyecharts,render,add,可视化,理论知识,import,bar,opts
From: https://blog.51cto.com/tony/5884622

相关文章