9.4.4 pyecharts——时间线轮播多图

这篇博客介绍了如何利用pyecharts库创建时间线轮播多图,重点提及了设置时间线区域高度的方法,并提到了pyecharts的faker包,该包提供测试数据,有助于开发者在图表样式调整中进行演示和测试。
摘要由CSDN通过智能技术生成
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 表示时间点。
下面绘制一个由多个柱形图组成的带时间线的组合图表,示例代码如下。
In [15]:
# 导入 pyecharts 官方的测试数据
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Page, Pie, Timeline
# 随机获取一组测试数据
x = Faker.choose()
tl = Timeline()
for i in range(2015, 2020):
   bar = (
     Bar()
     .add_xaxis(x)
     # Faker.values() 生成一个包含 7 个随机整数的列表
     .add_yaxis(" 商家 A", Faker.values())
     .add_yaxis(" 商家 B", Faker.values())
     .set_global_opts(title_opts=opts.TitleOpts(" 时间线轮播柱形图示例 "),
               yaxis_opts=opts.AxisOpts(name=" 销售额 ( 万元 )",
               name_location="center", name_gap=30))
   )
   tl.add(bar, "{} ".format(i))
tl.render_notebook()
运行程序,效果如图 9-15 所示。

 

图 9-15 的下方增加了时间线,通过单击时间线的时间刻度可以展示其对应的单图表,
还可以单击时间线左侧的播放按钮自动轮播每个图表。

       多学一招:pyecharts.faker包

pyecharts.faker 是一个由 pyecharts 官方提供的测试数据包,它包含一个 Faker 类,通过 Faker 对象访问属性来获取一些测试数据。Faker 对象的常用属性及其对应的测试数据如表 9-4 所示。

 

除此之外,Faker 对象还包含两种比较常用的方法 :choose() 和 values()。其中,choose()
是一种实例方法,用于从表 9-4 的前 7 组测试数据中随机获取一组测试数据 ;values() 是一种
静态方法,用于生成一个包含 7 个随机整数 n (20 ≤ n ≤ 150)的列表。
9.5 定制图表主题
pyecharts 内置了 10 多种不同风格的图表主题,包括 LIGHT、DARK、CHALK 等,并将
这些图表主题封装在全局变量 ThemeType 引用类的属性中。ThemeType 类的常用属性及其说
明如表 9-5 所示。
表 9-5 中列举的属性可以传入 InitOpts() 方法的 theme 参数,之后在初始化图表类时将
InitOpts 类对象传给 init_opts 参数,从而修改图表默认的主题风格。

例如,将 9.4.1 节的示例中绘制的柱形图的主题风格改为 ROMA,具体代码如下。

In [16]:
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
x_data = [' 小米 ', ' 三星 ', ' 华为 ', ' 苹果 ', ' 魅族 ', 'vivo', 'OPPO']
y_a = [107, 36, 102, 91, 51, 113, 45]
y_b = [104, 60, 33, 138, 105, 111, 91]
bar = (
   # 创建 Bar 类对象 , 将图表主题替换为 ThemeType.ROMA
   Bar(init_opts=opts.InitOpts(theme=ThemeType.ROMA))
   .add_xaxis(x_data)
   .add_yaxis(" 商家 A", y_a)
   .add_yaxis(" 商家 B", y_b)
   .set_global_opts(title_opts=opts.TitleOpts(title=" 柱形图 -ROMA 主题 "),
             yaxis_opts=opts.AxisOpts(name=" 销售额 ( 万元 )",
             name_location="center", name_gap=30))
)
bar.render_notebook()
运行程序,效果如图 9-16 所示。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值