pyecharts-Timeline讲解时间线

2023-11-16

        Pyecharts----Timeline  (*^▽^*)


            作者:发现美的眼睛(本人)


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

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

官方网站:pyecharts - A Python Echarts Plotting Library built with love.


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


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


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


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

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

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


如图代码示例:

#! /usr/bin/python
# -*- coding:utf-8 -*-

from pyecharts import Pie, Timeline
import 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组件距离容器左侧的距离,其实就是时间线距离图标左边的距离。

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


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


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

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


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyecharts-Timeline讲解时间线 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • Dynamics 365 Online-Relevance Search

    区别于Quick Find 以及Full Text Quick Find Dynamics 365 Online有了一个特有的Search功能 Relevance Search 至于为什么是Online特有 是因为这个功能依赖于Azure
  • python中保存mysql字符串不成功问题!

    在python中使用pymysql保存数据到数据库中 代码如下 nowTime int time time insertSql INSERT INTO table name SET ori id s so html s baidu html
  • [LeetCode] Palindrome Number & Valid Palindrome - 回文系列问题

    题目概述 Determine whether an integer is a palindrome Do this without extra space 题目分析 判断数字是否是回文 例如121 656 3443 方法有很多 正着看和到着
  • PostgreSQL 12系统表(10)pg_locks

    PostgreSQL 12系统表 10 pg locks 视图pg locks提供了数据库服务器上活动进程中保持的锁的信息 名称 类型 引用 描述 locktype text 可锁对象的类型 relation extend page tup
  • Vue核心插件 —— Vuex

    Vuex之集成 在项目目录新建store文件夹 推荐项目结构 安装vuex插件 npm i vuex S 在store js文件 中编写入口文件代码 推荐使用 export default gt return new Vuex Store
  • 详解vue中使用echarts地图实现上钻下钻的可视化 三级下钻 省>市>县

    简述功能概要 最近有需求做一个数据可视化的功能 会具体显示全国各地区的买家分布情况 鼠标放置在地图上会显示当前城市的分布人数 点击当前省份会下钻到城市地图 会显示当前省市下各个城市的买家数和分布情况 如果遇到没有下一级再次点击会进行返回到国
  • C++STL模板库——vector容器(上)

    本期介绍基础的vector知识 内容全部在主程序之中 大家自行阅读 include
  • 微信小程序 camera 系统相机 组件

    完整微信小程序 Java后端 技术贴目录清单页面 必看 系统相机 扫码二维码功能 需升级微信客户端至6 7 3 需要用户授权 scope camera 2 10 0起 initdone 事件返回 maxZoom 最大变焦范围 相关接口 Ca
  • react多重判断条件渲染相应组件

    需求来了 多种判断条件下 判断后渲染对应的组件 如果说if else堆叠 那代码会又乱又没有可读性 并且还要渲染对应的组件 最好的思路就是用switch case语句 但是又不想在render里写 那就要借助react的state 是的 r
  • JS深拷贝实现的三种方法

    对象的深拷贝 会另外创建一个一模一样的对象 新对象和原对象不共享内存 修改新对象不会影响原对象 1 递归 function deepClone obj 定义一个变量 并判断是数组还是对象 var objClone Array isArray
  • 260道2023最新网络安全工程师面试题(附答案)

    2023年过去了一大半 先来灵魂三连问 年初定的目标完成多少了 薪资涨了吗 女朋友找到了吗 好了 不扎大家的心了 接下来进入正文 由于我之前写了不少网络安全技术相关的文章和回答 不少读者朋友知道我是从事网络安全相关的工作 于是经常有人私信问
  • jeesite上传返回路径

    lt form fileupload id upload3 returnPath true filePathInputId author fileNameInputId upload3Name uploadType image readon
  • nar神经网络_基于神经网络的预测模型

    基本思想 根据前几次的数据模拟下一次的数据 需要数据具有 周期性 且周期可知 matlab代码 x 54167 55196 56300 57482 58796 60266 61465 62828 64653 65994 67207 6620
  • mllib 协同过滤_使用spark mllib协同过滤进行图书推荐(Java版)

    0 协同过滤算法简介 协同过滤 Collaborative Filtering 简单来说是利用某兴趣相投 拥有共同经验之群体的喜好来推荐用户感兴趣的信息 根据关注内容的不同 协同过滤算法分为三类 以用户为基础 User based 的协同过
  • 7.3 行高:line-height属性[3]

    7 3 4 浏览器的差别与错误 浏览器在显示的时候往往会有自己的表现形式 例如在Opera内 行高将按照CSS定义的将行距除以2增加到内容区域的上下两边 而IE和Firefox则不是完全平分 如图7 29所示 图7 29 不同浏览器对行高的
  • Vue Spring Boot大文件上传

    目录 前言 整体思路 前端 后端 代码实现 前端 后端代码 执行效果 总结 其他问题 网络中断 分片上传失败怎么办 如何实现秒传 服务器端多实例的情况 如何删除无用的分片 参考 前言 在项目中 上传大文件往往会遇上很多问题 比如 1 超时和
  • 十年开发经验教你如何高效学习 Python 的第三方库

    不然后面推送大家可能会看不到 这篇文章来自同学的提问 问题就是如何高效学习 Python 的第三方库 我在此总结如下 通用思路 整体思路从以下几个角度入手 阅读文档 第三方库通常都会有相应的文档 文档会介绍这个库的功能 使用方法等内容 所以
  • 安卓判断季度_2020年第1季度排名前5位的趋势安卓库

    安卓判断季度 机器人开发 ANDROID DEVELOPMENT We re almost at the end of the first quarter of 2020 and lots is happening in the Andro
  • Java 使用OSS 文件上传+下载 简单入门

    官方SDK文档 Java对象 文件 对象存储 阿里云帮助中心 开始使用OSS 阿里云对象存储OSS Object Storage Service 为您提供基于网络的数据存取服务 使用OSS 可以通过网络随时存储和调用包括文本 图片 音视频在
  • pyecharts-Timeline讲解时间线

    Pyecharts Timeline 作者 发现美的眼睛 本人 首先简单介绍一下pyecharts这个神奇的东东 如果你是从事web 那么Echarts就会熟悉知晓 如果不是 那么这篇文章也会推荐一个非常好的 python JavaScri