[英]Slicing plot using different colors - manually recolor the bars
我想使用选择的颜色对DF
进行切片。 我知道如何对DF
切片,但我不知道如何将所有部分放在一起。 现在, MWE给出如下图:
import pandas as pd
import numpy as np
index=pd.date_range('2011-1-1 00:00:00', '2011-1-31 23:50:00', freq='1h')
df=pd.DataFrame(np.random.randn(len(index),2).cumsum(axis=0),columns=['A','B'],index=index)
df2 = df.groupby([lambda x: x.month, lambda x: x.day]).sum()
df2[:11].plot(kind='bar', color='r')
df2[12:].plot(kind='bar', color='y')
我想要一个具有全部31个值的绘图(例如,不是两个),其中对于范围[:11]
,绘图颜色将是红色,对于[12:]
黄色。
您需要将每个连接起来,以便它们是独立的系列。 您还需要重命名它们,以便它们不完全相同(我已经加了一个空格)。
df3 = pd.concat([df2[:11], df2[12:]], axis=1)
df3.columns = ['A', 'B', 'A ', 'B ']
df3.plot(kind='bar', colors=['r', 'r', 'y', 'y'])
或者,为系列中的每个值指定颜色。
colors = tuple(['r'] * 11 + ['y'] * (len(df2) - 11))
df2.plot(kind='bar', color=[colors], legend=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.