绘制甘特图

Plotly Gantt diagram

我需要一个具有以下结构的 Dataframe (dfGant):

                             Task           Start      Finish        Resource
0             1             MS: undef. Stop  06:57:03  06:57:18       PL
1             2       BD: Sealent fail PRST  06:57:18  06:59:08       AV
2             3              MS: MDA or JOG  06:59:08  07:28:03       PL
3             4           MS: E-Stop Button  07:28:03  07:28:08       PL
4             5             MS: undef. Stop  07:28:08  07:31:08       PL

我需要 Python 中的断条形图或甘特图样式,x 轴上的时间戳,y 轴上的分类数据(任务)和资源列的着色。该任务每天出现几次。我发现在网络上没有什么真正有用的。我不想手动设置字典,我的数据框有数千行和大约 20 个类别。最后我需要一个三色图表 x 轴时间戳。类似于图片上的输出。

def gantDict(data):   

        for a,b,c,d in zip(data.Task,data.Start,data.Finish,data.Resource):
            dfRead = [dict(Task=a, Start=b, Finish=c, Resource=d)]
            for item in dfRead:
                dfList.append(item)                           
        return dfList

gantDict(dfGant)
fig = ff.create_gantt(dfList)

您可以将数据框传递给函数,而无需将其转换为字典列表:

import plotly.figure_factory as ff

fig = ff.create_gantt(df[['Task', 'Start', 'Finish']])
fig.show()