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 Fakerfrom pyecharts import options as optsfrom 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 optsfrom pyecharts.charts import Barfrom pyecharts.globals import ThemeTypex_data = [' 小米 ', ' 三星 ', ' 华为 ', ' 苹果 ', ' 魅族 ', 'vivo', 'OPPO']y_a = [107, 36, 102, 91, 51, 113, 45]y_b = [104, 60, 33, 138, 105, 111, 91]bar = (# 创建 Bar 类对象 , 将图表主题替换为 ThemeType.ROMABar(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 所示。
9.4.4 pyecharts——时间线轮播多图
于 2023-09-14 22:00:44 首次发布
这篇博客介绍了如何利用pyecharts库创建时间线轮播多图,重点提及了设置时间线区域高度的方法,并提到了pyecharts的faker包,该包提供测试数据,有助于开发者在图表样式调整中进行演示和测试。
摘要由CSDN通过智能技术生成