我正在尝试根据一个值为每个条着色,如here
所述我尝试了一个简单的代码,并且有效:
df=pd.DataFrame([95,94,99,90,89,91,92,85],columns=["Value"])
mask1 = df.Value < 90
mask2 = df.Value >= 90
bar=plt.bar( df.index[mask1],df.Value[mask1],color='red')
bar=plt.bar( df.index[mask2],df.Value[mask2],color='blue')
plt.hlines(90,7);
问题在于,当我将其应用于数据集时,列的顺序会更改。原始数据是:
. %REALIZADAS
MÊS
JANEIRO 96
FEVEREIRO 86
MARÇO 94
ABRIL 96
MAIO 85
JUNHO 92
JULHO 96
AGOSTO 92
SETEMBRO 94
OUTOBRO 94
NOVEMBRO 97
DEZEMBRO 94
我用
画出来
plt.bar(coleta.index,coleta['%REALIZADAS'])
plt.xticks(rotation=90)
此图的结果:
我尝试了这段代码:
mask1= coleta["%REALIZADAS"]>=90
mask2= coleta["%REALIZADAS"]<90
bar=plt.bar(coleta.index[mask1],coleta['%REALIZADAS'][mask1],color="blue")
bar=plt.bar(coleta.index[mask2],coleta['%REALIZADAS'][mask2],color="red")
plt.xticks(rotation=90)
plt.hlines(90,11,color='black')
但得出此图表:
如何保持列的顺序?