ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python+plotly_express生成甘特图

2021-10-21 14:59:43  阅读:339  来源: 互联网

标签:10 Finish python express 甘特图 Start Task dict 2021


安装plotly_express第三方库

源码:

import plotly_express as px

def taetgqntt():
    df = [

        dict(Task="张三", Start='2021-10-2', Finish='2021-10-8', Resource='中级'),
        dict(Task="张三", Start='2021-10-1', Finish='2021-10-3', Resource='高级'),
        dict(Task="张三", Start='2021-10-7', Finish='2021-10-20', Resource='低级'),
        dict(Task="李四", Start='2021-10-1', Finish='2021-10-10', Resource='高级'),
        dict(Task="王五", Start='2021-10-5', Finish='2021-10-25', Resource='高级'),
        dict(Task="没有日期", Start='', Finish='', Resource='低级'),
        dict(Task="赵六", Start='2021-10-10', Finish='2021-10-20', Resource='低级'),
        dict(Task="赵六2", Start='2021-10-10', Finish='2021-11-2', Resource='低级'),

    ]

    colors=dict(中级="#FFD700",低级="#90EE90",高级="#F08080")
    fig = px.timeline(
        df,  # 绘图数据
        x_start="Start",  # 开始时间
        x_end="Finish",  # 结束时间
        y="Task",  # y轴显示的数据
        color="Resource",  # 颜色设置
        opacity=0.7,
        title='这是甘特图标题',
        template='plotly', #值:plotly_white,plotly,plotly_dark
        color_discrete_map=colors,

    )

    # y轴实施翻转,日期小的显示在上面,showgrid=True创建横向表格线,也可以通过update_layout中设置
    # fig.update_yaxes(autorange="reversed",showgrid=True)
    fig.update_yaxes(autorange="reversed")

    # fig.update_layout(xaxis=dict(title='这是x轴标题', tickmode='linear', tickformat='%Y-%m-%d'),yaxis=dict(title='这是y轴标题'))
    fig.update_layout(xaxis=dict(title='这是x轴标题', tickmode='linear', tickformat='%m-%d'),yaxis=dict(title='这是y轴标题',showgrid=True))
    #tickformat参数,使用的d3-time-format:解析和格式化时间

    # fig.show()

    fig.write_html('1.html')

taetgqntt()

注意:

tickformat参数格式使用的d3-time-format:解析和格式化时间,具体参数如下

%a:星期的缩写 // Thu
%A:星期的全称 // Thursday

%b:月的缩写 // Jan
%B:月的全称 // January

%d:在本月的天数, 不足2位用0补全 [01, 31]
%e:在本月的天数, 不足2位用空格补全 [ 1, 31]

%H:小时, 24小时制 [00, 23]
%I:小时, 12小时制 [01, 12]

%j:在本年中的天数 [001, 366]
%m:月份 [01, 12]
%M:分钟 [00, 59]
%L:毫秒 [000, 999]
%p:AM或PM
%S:秒 [00, 60]
%x:日期部分, 等同于”%m%d%Y”
%X:时间部分, 等同于”%H:%M:%S”
%y:不含纪元的年份 [00, 99]
%Y:包含纪年的4位数年份

 

标签:10,Finish,python,express,甘特图,Start,Task,dict,2021
来源: https://blog.csdn.net/jiaweide123/article/details/120883524

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有