从熊猫的不同行绘制范围范围的补​​丁矩形

时间:2020-11-04 06:58:10

标签: python-3.x pandas plot

我的熊猫数据框类似于:

df = pd.DataFrame([['1/1/2020',0.1,0.3,'cat1','csv'],\
                  ['1/1/2020',0.4,0.7,'cat1','excel'],\
                  ['1/1/2020',1.7,2.3,'cat2','csv'],\
                  ['2/1/2020',0,0.3,'cat2','csv'],\
                  ['2/1/2020',0.4,0.5,'cat2','csv'],\
                  ['2/1/2020',0.5,0.7,'cat1','csv'],\
                  ['2/1/2020',1.1,1.3,'cat1','excel']],\
                     columns = ['date','start','end','cat','source'])

df的每一行都包含要着色的值范围和颜色组(猫)。我想在图中同一日期的同一行上绘制框:

enter image description here

很高兴:如果该图是交互式的,则它可以显示一个弹出窗口,该窗口显示每个颜色框的信息(无法通过图的颜色/位置显示的其他信息)会更好。 ),例如:

Source: csv

1 个答案:

答案 0 :(得分:1)

让我们尝试绘制一个接一个的条:

messages.toList()..shuffle()

或者将所有颜色与颜色映射在一起:

plt.figure(figsize=(10,3))
for i,r in df.iterrows():
    plt.barh(r['date'], width=r['end']-r['start'],
             left=r['start'], color='y' if r['cat']=='cat1' else 'g')

输出:

enter image description here