图的布局
from pyecharts.charts import *
from pyecharts.components import Table
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
import random
import datetime
import math
import numpy as np
from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "https://cdn.kesci.com/lib/pyecharts_assets/" # 设置host地址
时序控制
begin = datetime.date(2020, 4, 1)
end = datetime.date(2020, 4, 20)
cate = ['Apple', 'Huawei', 'MI', 'Oppo', 'Vivo', 'Samsung']
def random_data(n):
return [random.randint(100, 200) for i in range(n)]
tl = Timeline()
tl.add_schema()
for i in range((end-begin).days + 1):
day = begin + datetime.timedelta(days=i)
bar = (
Bar()
.add_xaxis(cate)
.add_yaxis('电商渠道', random_data(len(cate)))
)
tl.add(bar, day)
tl.render_notebook()
按钮控制
cate = ['Apple', 'Huawei', 'MI', 'Oppo', 'Vivo', 'Samsung']
begin = datetime.date(2020, 4, 1)
end = datetime.date(2020, 4, 20)
date_list = [str(begin + datetime.timedelta(days=i))
for i in range((end - begin).days + 1)]
def random_data(n):
return [random.randint(0, 100) for i in range(n)]
'''按钮'''
tab = Tab()
for c in cate:
day = begin + datetime.timedelta(days=i)
line = (
Line()
.add_xaxis(date_list)
.add_yaxis('', random_data(len(date_list)))
)
tab.add(line, c)
tab.render_notebook()
顺序排布
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [123, 153, 89, 107, 98, 23]
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis('', y_data)
)
line = (Line()
.add_xaxis(x_data)
.add_yaxis('', y_data)
)
'''顺序多图'''
page = Page()
page.add(bar, line)
page.render_notebook()
网格排布
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [123, 153, 89, 107, 98, 23]
bar = (Bar()
.add_xaxis(x_data)
.add_yaxis('', y_data)
)
line = (Line()
.add_xaxis(x_data)
.add_yaxis('', y_data)
)
'''网格多图'''
grid = (
Grid()
.add(bar, grid_opts=opts.GridOpts(pos_left='60%'))
.add(line, grid_opts=opts.GridOpts(pos_right='60%'))
)
grid.render_notebook()