Timeline bar graph using python and matplotlib

后端 未结 2 1131
遇见更好的自我
遇见更好的自我 2020-12-08 17:45

I am looking to draw a timeline bar graph using matplotlib that will show the things a person did in one day. I am adding the code below,output and an expec

2条回答
  •  失恋的感觉
    2020-12-08 18:45

    My solution using Altair (example):

    import altair as alt
    import datetime as dt
    import pandas as pd
    
    
    alt.renderers.enable('jupyterlab')
    
    data = pd.DataFrame()
    data['from'] = [dt.datetime(2018, 7, 17, 0, 15),
                 dt.datetime(2018, 7, 17, 0, 30),
                 dt.datetime(2018, 7, 17, 0, 45), 
                 dt.datetime(2018, 7, 17, 1, 0), 
                 dt.datetime(2018, 7, 17, 1, 15), 
                 dt.datetime(2018, 7, 17, 1, 30)]
    data['to'] = [dt.datetime(2018, 7, 17, 0, 30),
                 dt.datetime(2018, 7, 17, 0, 45),
                 dt.datetime(2018, 7, 17, 1, 0), 
                 dt.datetime(2018, 7, 17, 1, 15), 
                 dt.datetime(2018, 7, 17, 1, 30), 
                 dt.datetime(2018, 7, 17, 1, 45)]
    data['activity'] = ['sleep','eat','work','sleep','eat','work']
    #data
    
    alt.Chart(data).mark_bar().encode(
        x='from',
        x2='to',
        y='activity',
        color=alt.Color('activity', scale=alt.Scale(scheme='dark2'))
    )
    

    Output:

提交回复
热议问题