- 圖表:30多種圖表
- 地圖:300多個中國城市/200多個國家和地區(qū)
- 平臺:原生Python/Jupyter Notebook/Web框架
Echarts是一個由百度開源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設(shè)計,得到了眾多開發(fā)者的認(rèn)可。而 Python 是一門富有表達(dá)力的語言,很適合用于數(shù)據(jù)處理。當(dāng)數(shù)據(jù)分析遇上數(shù)據(jù)可視化時,pyecharts 誕生了。
安裝
$ pip(3) install pyecharts
柱狀圖
from pyecharts.charts import Bar
bar = Bar()
bar.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 會生成本地 HTML 文件,默認(rèn)會在當(dāng)前目錄生成 render.html 文件
# 也可以傳入路徑參數(shù),如 bar.render("mycharts.html")
bar.render()
- pyecharts 所有方法均支持鏈?zhǔn)秸{(diào)用。
from pyecharts.charts import Bar
bar = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render()
- 使用 options 配置項,在 pyecharts 中,一切皆 Options。
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本開始支持鏈?zhǔn)秸{(diào)用
# 你所看到的格式其實是 `black` 格式化以后的效果
# 可以執(zhí)行 `pip install black` 下載使用
bar = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.set_global_opts(title_opts=opts.TitleOpts(title="主標(biāo)題", subtitle="副標(biāo)題"))
# 或者直接使用字典參數(shù)
# .set_global_opts(title_opts={"text": "主標(biāo)題", "subtext": "副標(biāo)題"})
)
bar.render()
# 不習(xí)慣鏈?zhǔn)秸{(diào)用的開發(fā)者依舊可以單獨(dú)調(diào)用方法
bar = Bar()
bar.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.set_global_opts(title_opts=opts.TitleOpts(title="主標(biāo)題", subtitle="副標(biāo)題"))
bar.render()
- 渲染成圖片文件,這部分內(nèi)容請參考 進(jì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])
)
make_snapshot(snapshot, bar.render(), "bar.png")
- 使用主題
pyecharts 提供了 10+ 種內(nèi)置主題,開發(fā)者也可以定制自己喜歡的主題,進(jìn)階話題-定制主題 有相關(guān)介紹。
from pyecharts.charts import Bar
from pyecharts import options as opts
# 內(nèi)置主題類型可查看 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="主標(biāo)題", subtitle="副標(biāo)題"))
)