pyecharts-Timeline讲解时间线

简介:

首先简单介绍一下pyecharts这个神奇的东东,如果你是从事web,那么Echarts就会熟悉知晓。

——如果不是,那么这篇文章也会推荐一个非常好的(python&JavaScript)工具来帮助你来处理数据。

官方网站:http://pyecharts.org/#/ 

a95436d7e4a2d458b366f677a518c8c95d3520d4

efd266e5c3c8bb205c1517b73116995ca9df4349

Pyecharts来源于一个开发团队,人数不多但都是大佬。而本章所提到的Timeline便是该团队在去年8月份发布的0.1.9.5版本。目前我们获取下载到的都是最新的,不必担心版本问题。

顾名思义,Timeline便是时间路线的意思。根据霍金的《时间简史》,timeline代表着不可逆的时间顺序。然而编程世界...无奇不有,回不去的时间大不了日历嘛~

9f62777a6f0a84b926baa49e5ac7ea58a8ab1387

这个版本的pyecharts才算的上一种基本健全的工具,在之后的版本中python与js的交互变得十分简单轻松。

使用pyecharts中的Timeline组件,只需要调用一下。

 

from pyecharts import Timeline,aaa #加上你想要制作图表的组件

对于数据处理,那么时间这一性质就是最好的反馈。

593f6d05e44c76a2bbe1a4a9d53d312cfe2502b0

如图代码示例:

 

#! /usr/bin/python# -*- coding:utf-8 -*-from pyecharts import Pie, Timelineimport random name = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] value = [random.randint(100, 1000) for _ in range(6)] quarter_one = Pie("第一季度销售图", title_pos='center') quarter_one.add("", name, [random.randint(100, 1000) for _ in range(6)], radius=[40, 80], label_text_color=None, is_label_show=True, legend_orient='vertical', legend_pos='left') quarter_two = Pie("第二季度销售图", title_pos='center') quarter_two.add("", name, [random.randint(100, 1000) for _ in range(6)], radius=[40, 80], label_text_color=None, is_label_show=True, legend_orient='vertical', legend_pos='left') quarter_three = Pie("第三季度销售图", title_pos='center') quarter_three.add("", name, [random.randint(100, 1000) for _ in range(6)], radius=[40, 80], label_text_color=None, is_label_show=True, legend_orient='vertical', legend_pos='left') quarter_four = Pie("第四季度销售图", title_pos='center') quarter_four.add("", name, [random.randint(100, 1000) for _ in range(6)], radius=[40, 80], label_text_color=None, is_label_show=True, legend_orient='vertical', legend_pos='left') timeline = Timeline(is_auto_play=True, timeline_bottom=0, width=600, height=450) timeline.add(quarter_one, '第一季度') timeline.add(quarter_two, '第二季度') timeline.add(quarter_three, '第三季度') timeline.add(quarter_four, '第四季度') timeline.render("全年销售图.html")

当然,在Timeline中可选择的选项有很多。有些参数便是python与js之间的转换。

 

class Timeline(Base): """ 时间线轮播多张图 """ def __init__( self, page_title=PAGE_TITLE, width=800, height=400, is_auto_play=False, is_loop_play=True, is_rewind_play=False, is_timeline_show=True, timeline_play_interval=2000, timeline_symbol="emptyCircle", timeline_symbol_size=10, timeline_left="auto", timeline_right="auto", timeline_top="auto", timeline_bottom="atuo", ):# 解释参数如下 """ :param is_auto_play: 是否自动播放,默认为 Flase :param is_loop_play: 是否循环播放,默认为 True :param is_rewind_play: 是否方向播放,默认为 Flase :param is_timeline_show: 是否显示 timeline 组件。默认为 True,如果设置为false,不会显示,但是功能还存在。 :param timeline_play_interval: 播放的速度(跳动的间隔),单位毫秒(ms)。 :param timeline_symbol: 标记的图形。有'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'可选 :param timeline_symbol_size: 标记的图形大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示 宽和高,例如 [20, 10] 表示标记宽为 20,高为 10。 :param timeline_left: timeline 组件离容器左侧的距离。 left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比, 也可以是 'left', 'center', 'right'。如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。 :param timeline_right: timeline 组件离容器右侧的距离。同 left :param timeline_top: timeline 组件离容器顶侧的距离。同 left :param timeline_bottom: timeline 组件离容器底侧的距离。同 left """

一般Timeline实例化之后,可以进行个性化设置。比方说,给示例timeline添加个属性:timeline_left组件距离容器左侧的距离,其实就是时间线距离图标左边的距离。

e1239dbebf67de1c76c1a6d83afae40ce99b573a

只是添加这样一个属性,时间线便从左边的位置向右移动100px,与其说向右不如说距离左边100px。

d1719788302af90d588872ad2278f604bbd87707

这边是一个非常简单的例子,目前的timeline时间组件只支持Ber、Scatter、Pie等等这类相对简单的图标组件。

73daa1c63ce993b8395999bfce2701a484994a40

这张图是官方制表,整体十分美观,反正给作者本人是这种感觉。(#^.^#)

如果有兴趣,可以去查看pyecharts中的Timeline.py文件,或者是官方文档。本人见解浅露,如有错误请多多指出。


原文发布时间为:2018-09-18

本文作者:发现美的眼睛

本文来自云栖社区合作伙伴“Python爱好者社区”,了解相关信息可以关注“Python爱好者社区”。

相关文章
|
人工智能 前端开发 Devops
.NET技术在现代开发中的作用:.NET技术的核心价值、在现代应用开发中的实际应用、以及面临的挑战与未来趋势。
.NET技术是软件开发领域的核心力量,本文从其核心价值、实际应用及未来挑战三方面进行探讨。它支持多种语言,提供强大的开发工具和丰富的类库,并具备跨平台能力。在现代应用开发中,.NET广泛应用于企业级系统、Web应用、移动应用、云服务和游戏开发等领域。面对性能优化、容器化、AI集成等挑战,.NET持续创新以适应不断发展变化的技术环境。
347 4
|
Shell
我来教你如何将cpu使用率up起来(shell脚本[含注释])
我来教你如何将cpu使用率up起来(shell脚本[含注释])
1370 0
|
存储 关系型数据库 数据库
【北亚企安数据恢复】Ceph分布式存储基本架构&Ceph数据恢复流程
Ceph存储可分为块存储,对象存储和文件存储。Ceph基于对象存储,对外提供三种存储接口,故称为统一存储。 Ceph的底层是RADOS(分布式对象存储系统),RADOS由两部分组成:OSD和MON。 MON负责监控整个集群,维护集群的健康状态,维护展示集群状态的各种图表,如OSDMap、MonitorMap、PGMap和CRUSHMap。 OSD负责存储数据、复制数据、平衡数据、恢复数据,与其它OSD间进行心跳检查等。通常情况下一块硬盘对应一个OSD。
|
9月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——定义返回的统一 json 结构
本课主要讲解Spring Boot中的全局异常处理方法。在项目开发中,各层操作难免会遇到各种异常,若逐一处理将导致代码耦合度高、维护困难。因此,需将异常处理从业务逻辑中分离,实现统一管理与友好反馈。本文通过定义一个简化的JsonResult类(含状态码code和消息msg),结合全局异常拦截器,展示如何封装并返回标准化的JSON响应,从而提升代码质量和用户体验。
260 0
|
SQL 缓存 自然语言处理
实战案例1:基于C语言的Web服务器实现。
实战案例1:基于C语言的Web服务器实现。
|
机器学习/深度学习 人工智能 自然语言处理
MMAudio:开源 AI 音频合成项目,根据视频或文本生成同步的音频
MMAudio 是一个基于多模态联合训练的高质量 AI 音频合成项目,能够根据视频内容或文本描述生成同步的音频。该项目适用于影视制作、游戏开发、虚拟现实等多种场景,提升用户体验。
772 8
MMAudio:开源 AI 音频合成项目,根据视频或文本生成同步的音频
|
消息中间件 存储 监控
微服务日志监控的挑战及应对方案
【10月更文挑战第23天】微服务化带来模块独立与快速扩展,但也使得日志监控复杂。日志作用包括业务记录、异常追踪和性能定位。
|
前端开发 JavaScript
async和await的错误处理
在TypeScript中,`async`和`await`是处理异步操作的语法糖,能够让异步代码看起来像同步代码。`async`函数返回的总是`Promise`对象。当`await`后跟的表达式为`reject`状态的`Promise`时,会抛出错误,需要通过`try/catch`、链式`.catch()`或外部`Promise`包装来处理错误,防止代码崩溃。
533 0
async和await的错误处理
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas基础
本文详细介绍了 Python 中两个重要的数据分析库 NumPy 和 Pandas 的基础知识,并通过一个综合的示例展示了如何使用这些库进行数据处理和分析。希望通过本篇博文,能更好地理解和掌握 NumPy 和 Pandas 的基本用法,为后续的数据分析工作打下坚实的基础。
【Python 基础】如何将一个字符串转化为全大写和全小写?
【5月更文挑战第8天】【Python 基础】如何将一个字符串转化为全大写和全小写?