pyecharts学习笔记(2)

5分钟上手 pyecharts

参考:5分钟上手

1.方法的链式调用与单独调用

单独调用:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from streamlit_echarts import st_pyecharts
from pyecharts.charts import Bar

# 创建一个柱状图实例
bar = Bar()
# x,y列添加数据列表
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# 使用字典传入参数
bar.set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
st_pyecharts(bar)

链式调用:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from streamlit_echarts import st_pyecharts
from pyecharts.charts import Bar

bar = (Bar()
       .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
       .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
       .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)

st_pyecharts(bar)

pyecharts 所有方法均支持链式调用。链式调用更简洁。

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

2.使用主题

pyecharts 提供了 10+ 种内置主题,开发者也可以定制自己喜欢的主题.

直接按例子调用主题是没用的:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from streamlit_echarts import st_pyecharts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
from pyecharts import options as opts

bar = (Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
       .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
       # bar 的两个Y数据列
       .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
       .add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
       .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)


st_pyecharts(bar)

参考 这里:

Defining the theme in Pyecharts when instantiating chart like Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) does not work, you need to call theme in st_pyecharts(c, theme=ThemeType.LIGHT).

修改版,需要同时在st_pyecharts 中添加theme参数:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from streamlit_echarts import st_pyecharts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
from pyecharts import options as opts

bar = (Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
       .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
       # bar 的两个Y数据列
       .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
       .add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
       .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)


st_pyecharts(bar,theme=ThemeType.LIGHT)

效果:

基本图表 Calendar:日历图

参考:

示例1

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from streamlit_echarts import st_pyecharts

import random
import datetime

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


begin = datetime.date(2017, 1, 1)
end = datetime.date(2017, 12, 31)
# 造模拟数据
data = [
    [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
    for i in range((end - begin).days + 1)
]

'''[['2017-01-01', 15312],
 ['2017-01-02', 8095],
 ['2017-01-03', 24504],
 ['2017-01-04', 9012],
 ['2017-01-05', 14732]]'''

c=(
    Calendar()
    .add(
        series_name="",
        yaxis_data=data,
        calendar_opts=opts.CalendarOpts(
            pos_top="120",
            pos_left="30",
            pos_right="30",
            range_="2017",
            yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="2017年步数情况"),
        visualmap_opts=opts.VisualMapOpts(
            max_=20000, min_=500, orient="horizontal", is_piecewise=False
        ),
    )
)

st_pyecharts(c)
© Licensed under CC BY-NC-SA 4.0

我向星星许了个愿。我并不是真的相信它,但是反正也是免费的,而且也没有证据证明它不灵。—— 加菲猫

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!