• pyecharts(2)图的布局


    图的布局

    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()
    

  • 相关阅读:
    MySQL for mac使用记录
    Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
    前端学数据库之基础操作
    前端CSS预处理器Sass
    ionic + cordova+angularJs 搭建的H5 App完整版总结
    HTML5的新语义化的标签
    angularJS- $http请求
    SEO优化---学会建立高转化率的网站关键词库
    当AngularJS POST方法碰上PHP
    从一个程序员的角度看——微信小应用
  • 原文地址:https://www.cnblogs.com/hichens/p/13532017.html
Copyright © 2020-2023  润新知