pyecharts绘制组合图表

并行多图

  pyecharts.charts的Grid类表示并行排列的组合图表,它可以采用左右布局或上下布局的方式显示多个图表。Grid类中包含一个add()方法,使使用add()方法可以为组合图表添加配置项。 add()方法的语法格式如下:

add(self, chart, grid_opts, grid_index=0,is_control_axis_index=False)

该方法的参数含义如下。

chart:表示图表。

grid_opts:表示直角坐标系配置项。

grid_index:表示直角坐标系网格索引,默认为0。

is_control_axis_index:表示是否由自己控制坐坐标轴索引,默认为False。

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line
from pyecharts.faker import Faker
 
bar = (
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
)
line = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line1 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line2 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        # 通过联合控制pos_bottom, pos_top, pos_left, pos_right这四个参数,
        # 可以精细控制在图例在画布中的任意布局。
        legend_opts=opts.LegendOpts(
                                    pos_bottom="10%",pos_top="70%",
                                    pos_left="75%",pos_right="5%",
            
                                    # 通过控制图例里面的文字字号大小和矩形块大小,实现整个图例到缩放
                                    textstyle_opts= opts.TextStyleOpts(font_size=5),
                                    item_width=10,item_height=5,
                                   ),
    )
)
 
# 【组合图表: 并行多图】
grid = (
    Grid()
    # 通过联合控制pos_bottom, pos_top, pos_left, pos_right这四个参数,
    # 可以精细控制图表在画布中的任意布局。
    .add(bar, grid_opts=opts.GridOpts( 
                                      pos_bottom="75%",pos_top="5%",
                                      pos_left="5%",pos_right="5%",
                                     ))
    
    .add(line, grid_opts=opts.GridOpts( 
                                      pos_bottom="5%",pos_top="75%",
                                      pos_left="5%",pos_right="75%",
                                     ))
    
    .add(line1, grid_opts=opts.GridOpts( 
                                      pos_bottom="5%",pos_top="75%",
                                      pos_left="40%",pos_right="40%",
                                     ))
    
    .add(line2, grid_opts=opts.GridOpts( 
                                      pos_bottom="5%",pos_top="75%",
                                      pos_left="70%",pos_right="5%",
                                     ))
)
 
grid.render_notebook()

顺序多图

  pyecharts.charts的Page类表示顺序显示的组合图表,它可以在同一网页中按顺序渲染多个图表。Page类的构造方法的语法格式如下所示:

Page (page_title="Awesome-pyecharts", js host= "",
      interval=1, layout=PageLayoutOpts())

该方法的参数含义如下。

page_title:表示HTML网页的标题。

js_host:表示远程的主机地址,默认为“https://assets.pyecharts.org/assets/”。

interval:表示图例的间隔,默认为1。

layout:表示布局配置项。

Page类提供了一个add()方法,使用add()方法可以为组合图表添加配置项。
 

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line, Page
from pyecharts.faker import Faker
 
bar = (
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
)
line = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line1 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line2 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        # 通过联合控制pos_bottom, pos_top, pos_left, pos_right这四个参数,
        # 可以精细控制在图例在画布中的任意布局。
        legend_opts=opts.LegendOpts(
                                    pos_bottom="10%",pos_top="70%",
                                    pos_left="75%",pos_right="5%",
            
                                    # 通过控制图例里面的文字字号大小和矩形块大小,实现整个图例到缩放
                                    textstyle_opts= opts.TextStyleOpts(font_size=5),
                                    item_width=10,item_height=5,
                                   ),
    )
)
 
# 【组合图表: 顺序多图】
page = Page(layout=Page.DraggablePageLayout) # 可拖拽布局
page.add(bar, line, line1, line2)
 
 
#page.render_notebook()
 
page.render('D:\\pyecharts\\DraggablePageLayout.html')

选项卡多图

  pyecharts.charts 的Tab类表示以选项卡开形式显示的组合图表,它可以通过单击不同的选项卡来切换显示多个图表。Tab类的构造方去的语法格式如下所示:

Tab(page_title="Awesome-pyecharts", js_host="")

 该方法的参数与Page()方法的参数相同 此处不再赘述。
Tab类提供了一个add()方法,使用add()方法可以为组合图表添加图表。add()方法的语法格式如下所示:

add(self, chart, tab_name)

  该方法的参数chart表示任意图表,tab_name 表示选项卡标签的名称。

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line, Page, Tab
from pyecharts.faker import Faker
 
bar = (
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
)
line = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line1 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line2 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        # 通过联合控制pos_bottom, pos_top, pos_left, pos_right这四个参数,
        # 可以精细控制在图例在画布中的任意布局。
        legend_opts=opts.LegendOpts(
                                    pos_bottom="10%",pos_top="70%",
                                    pos_left="75%",pos_right="5%",
            
                                    # 通过控制图例里面的文字字号大小和矩形块大小,实现整个图例到缩放
                                    textstyle_opts= opts.TextStyleOpts(font_size=5),
                                    item_width=10,item_height=5,
                                   ),
    )
)
 
# 【组合图表: 选项卡多图】
tab = Tab()
tab.add(bar, "bar")
tab.add(line, "line")
tab.add(line1, "line1")
tab.add(line2, "line2")
 
 
#tab.render_notebook()
 
 
tab.render('D:\\pyecharts\\DraggablePageLayout.html')

时间线轮播多图
  pyecharts.charts的Timeline类表示按时间线轮播的组合图表,它可以通过单击时间线的不同时间来切换显示多个图表。Timeline类中提供了两种重要的方法:add_schema()和add()。

1.add_schema() 方法
add_schema()方法用于为图表添加指定样式的时间线,其语法格式如下所示::
 

add_schema(self, axis_type="category", orient="horizontal", symbol=None,
           symbol_size-None, play_interval=None, is_auto_play=False,
           is_loop_play=True, is_rewind_play=False, is_timeline_show=True, 
           is_inverse=False, pos_left=None, pos_right=None, pos_top=None, 
           pos_bottom="-5px", width=None, height=None, linestyle_opts=None, 
           label_opts=None, itemstyle_opts=None)

该方法常用参数的含义如下。

axis_type:表示坐标轴的类型,可以取值为value(数值轴)、category(类目轴)、time(时间轴)、log(对数轴)。

orient:表示时间线的类型,可以取值为horizontal(水平)和 vertical(垂直)。

play_interval:表示播放的速度(跳动的间隔),单位为ms。

is_auto_play:表示是否自动播放,默认为False。

is_loop_play:表示是否循环播放,默认为True。

is_rewind_play:表示是否反向播放,默认为False。

is_timeline_show:表示是否显示时间线组件。

width:表示时间线区域的宽度。

height:表示时间线区域的高度。 

2.add()方法
add()方法用于添加图表和时间点,其语法格式如下所示:

add(self, chart, time_point)

该方法的参数chart表示图表,time_point表示时间点。 

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line, Page, Tab, Timeline
from pyecharts.faker import Faker
 
bar = (
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
)
line = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line1 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
 
line2 = (
    Line()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
        # 通过联合控制pos_bottom, pos_top, pos_left, pos_right这四个参数,
        # 可以精细控制在图例在画布中的任意布局。
        legend_opts=opts.LegendOpts(
                                    pos_bottom="10%",pos_top="70%",
                                    pos_left="75%",pos_right="5%",
            
                                    # 通过控制图例里面的文字字号大小和矩形块大小,实现整个图例到缩放
                                    textstyle_opts= opts.TextStyleOpts(font_size=5),
                                    item_width=10,item_height=5,
                                   ),
    )
)
 
# 【组合图表: 轮播多图】
tl = Timeline()
tl.add(bar, "bar")
tl.add(line, "line")
tl.add(line1, "line1")
tl.add(line2, "line2")
 
    
tl.render_notebook()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值