pyecharts說(shuō)明文檔
pyecharts安裝
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
pyecharts快速入門
pyecharts中可以繪制的圖有很多,這里我們先來(lái)總體的了解一下他的使用風(fēng)格,和調(diào)用的方式。
pyecharts 分為 v0.5.X 和 v1 兩個(gè)大版本,v0.5.X 和 v1 間不兼容,v1 是一個(gè)全新的版本.經(jīng)開(kāi)發(fā)團(tuán)隊(duì)決定,0.5.x 版本將不再進(jìn)行維護(hù),0.5.x 版本代碼位于 05x 分支
import pyecharts
pyecharts.__version__
'1.9.0'
pyecharts簡(jiǎn)單使用
from pyecharts.charts import Bar
實(shí)例化
bar = Bar()
bar.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
bar.add_yaxis("商家A",[5,20,36,10,75,90])
render 會(huì)生成本地 HTML 文件,默認(rèn)會(huì)在當(dāng)前目錄生成 render.html 文件
也可以傳入路徑參數(shù),如 bar.render("mycharts.html")
bar.render()
# 實(shí)例化
bar = Bar()
bar.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
bar.add_yaxis("商家A",[5,20,36,10,75,90])
# render 會(huì)生成本地 HTML 文件,默認(rèn)會(huì)在當(dāng)前目錄生成 render.html 文件
# 也可以傳入路徑參數(shù),如 bar.render("mycharts.html")
bar.render()
設(shè)置在notebook上展示
bar.render_notebook()
# 實(shí)例化
bar = Bar()
bar.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
bar.add_yaxis("商家A",[5,20,36,10,75,90])
# render 會(huì)生成本地 HTML 文件,默認(rèn)會(huì)在當(dāng)前目錄生成 render.html 文件
# 也可以傳入路徑參數(shù),如 bar.render("mycharts.html")
bar.render_notebook()
運(yùn)行效果:

鏈?zhǔn)秸{(diào)用
對(duì)上述代碼進(jìn)行重整,得到鏈?zhǔn)秸{(diào)用。
from pyecharts.charts import Bar
bar = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A",[5,20,36,10,75,90])
)
# render 會(huì)生成本地 HTML 文件,默認(rèn)會(huì)在當(dāng)前目錄生成 render.html 文件
# 也可以傳入路徑參數(shù),如 bar.render("mycharts.html")
bar.render_notebook()
運(yùn)行效果同上圖
保存圖片
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot
# 使用 snapshot-selenium 渲染圖片
from snapshot_selenium import snapshot
bar = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A",[5,20,36,10,75,90])
.add_yaxis("商家B",[10,30,46,60,35,10])
)
make_snapshot(snapshot,bar.render(),"bar.png")
全局配置
全局配置項(xiàng)
我們來(lái)看下全局配置項(xiàng)有哪些。在學(xué)習(xí)具體的配置項(xiàng)之前,先來(lái)看下pyecharts生成的圖由哪幾個(gè)部分組成。

針對(duì)以上每個(gè)部分,都有相應(yīng)的配置項(xiàng)來(lái)進(jìn)行配置。所有的配置類,都是放到pyecharts.options中。
-# 06-2配置項(xiàng)

可以配置諸如圖像寬度,高度,圖表主題,背景顏色等。
class pyecharts.options.InitOpts
class InitOpts(
# 圖表畫(huà)布寬度,css 長(zhǎng)度單位。
width: str = "900px",
# 圖表畫(huà)布高度,css 長(zhǎng)度單位。
height: str = "500px",
# 圖表 ID,圖表唯一標(biāo)識(shí),用于在多圖表時(shí)區(qū)分。
chart_id: Optional[str] = None,
# 渲染風(fēng)格,可選 "canvas", "svg"
# # 參考 `全局變量` 章節(jié)
renderer: str = RenderType.CANVAS,
# 網(wǎng)頁(yè)標(biāo)題
page_title: str = "Awesome-pyecharts",
# 圖表主題
theme: str = "white",
# 圖表背景顏色
bg_color: Optional[str] = None,
# 遠(yuǎn)程 js host,如不設(shè)置默認(rèn)為 https://assets.pyecharts.org/assets/"
# 參考 `全局變量` 章節(jié)
js_host: str = "",
# 畫(huà)圖動(dòng)畫(huà)初始化配置,參考 `global_options.AnimationOpts`
animation_opts: Union[AnimationOpts, dict] = AnimationOpts(),
)
根椐上述教程,初始化配置項(xiàng)是調(diào)用pyecharts下options的類方法InitOpts所以from pyecharts import options as opts、
Bar(init_opts=opts.InitOpts(width= "900px",height= "500px",page_title= "abc",theme= ThemeType.CHALK,bg_color = 'black'))
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(width= "900px",
height= "500px",page_title= "abc",
theme= ThemeType.CHALK,bg_color = 'black'))
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A",[5,20,36,10,75,90])
)
bar.render_notebook()

- 標(biāo)題配置項(xiàng)
class pyecharts.options.TitleOpts
.set_global_opts()
.set_global_opts(title_opts = opts.TitleOpts(title='銷售對(duì)比',title_link='https://www.baidu.com',subtitle='2021年度',pos_left='20%'))
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(width= "900px",height= "500px",
page_title= "abc",theme= ThemeType.CHALK,bg_color = 'black'))
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A",[5,20,36,10,75,90])
.add_yaxis('商家B',[8,34,25,14,56,100])
.set_global_opts(title_opts = opts.TitleOpts(title='銷售對(duì)比',
title_link='https://www.baidu.com',subtitle='2021年度',pos_left='20%'))
)
bar.render_notebook()

- 圖例配置項(xiàng)
class pyecharts.options.LegendOpts
.set_global_opts()
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(width= "900px",height= "500px",page_title= "abc",theme= ThemeType.CHALK,bg_color = 'black'))
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A",[5,20,36,10,75,90])
.add_yaxis('商家B',[8,34,25,14,56,100])
.set_global_opts(title_opts = opts.TitleOpts(title='銷售對(duì)比',title_link='https://www.baidu.com',subtitle='2021年度',pos_left='20%'),
legend_opts = opts.LegendOpts(is_show=True,pos_left="600px",orient="vertical"))
)
bar.render_notebook()

- 區(qū)域縮放配置項(xiàng)
class pyecharts.options.DataZoomOpts
set_global_opts()
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker # 虛假數(shù)據(jù)
bar = (
Bar(init_opts=opts.InitOpts())
.add_xaxis(Faker.days_attrs)
.add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
.set_global_opts(
title_opts = opts.TitleOpts(title="主標(biāo)題",subtitle="副標(biāo)題",title_link="https://www.baidu.com/",pos_left="50%"),
legend_opts = opts.LegendOpts(is_show=True,pos_left="600px",orient="vertical"),
datazoom_opts = opts.DataZoomOpts(type_="inside")
)
)
bar.render_notebook()

- 視覺(jué)映射配置項(xiàng)
class pyecharts.options.VisualMapOpts
set_global_opts()
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globals import ChartType
c = (
Geo()
.add_schema(maptype="廣東")
.add(
"geo",
[list(z) for z in zip(Faker.guangdong_city, Faker.values())],
type_=ChartType.HEATMAP,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(is_piecewise=False), title_opts=opts.TitleOpts(title="Geo-廣東地圖")
)
)
c.render_notebook()

- 工具箱配置項(xiàng)
class pyecharts.options.ToolboxOpts
set_global_opts()
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
c = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-顯示 ToolBox"),
toolbox_opts=opts.ToolboxOpts(is_show=True),
legend_opts=opts.LegendOpts(is_show=True),
)
)
c.render_notebook()

系列配置項(xiàng)
.set_series_opts()
以LabelOpts:標(biāo)簽配置項(xiàng)為例
pyecharts.options.LabelOpts
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
c = (
Geo()
.add_schema(maptype="china")
.add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-基本示例")
)
)
c.render_notebook()

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker # 虛假數(shù)據(jù)
bar = (
Bar(init_opts=opts.InitOpts())
.add_xaxis(Faker.days_attrs)
.add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
# 系列配置項(xiàng)
.set_series_opts(label_opts=opts.LabelOpts(rotate=30))
# 全局配置項(xiàng)
.set_global_opts(
title_opts = opts.TitleOpts(title="主標(biāo)題",subtitle="副標(biāo)題",title_link="https://www.baidu.com/",pos_left="50%"),
legend_opts = opts.LegendOpts(is_show=True,pos_left="600px",orient="vertical"),
datazoom_opts = opts.DataZoomOpts(type_="inside")
)
)
bar.render_notebook()
