pyecharts

pyecharts說(shuō)明文檔

https://pyecharts.org/#/zh-cn/global_options?id=legendopts%ef%bc%9a%e5%9b%be%e4%be%8b%e9%85%8d%e7%bd%ae%e9%a1%b9

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)行效果:


1.png

鏈?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è)部分組成。


1590664859188-ff6cc122-f499-4cff-b6e5-fff273e5e0e5.png

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

![image](https://upload-images.jianshu.io/upload_images/25981608-76f72fb75161164e.jpeg?imageMogr2/auto

  • 初始化配置項(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()
2.png
  • 標(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()
4.png
  • 圖例配置項(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()
7.png
  • 區(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()
57.png
  • 視覺(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()
5.png
  • 工具箱配置項(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()
6.png

系列配置項(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()
9.png
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()
10.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容