python - 在我的水平条形图上如何为特定索引分配特定颜色
python - On my horizontal bar plot how do I assign specific color to certain index
这是我的简化代码
import numpy as np
import pandas as pd
pd.DataFrame(np.random.randint(1,100,6),index=['1200 am', '1230 am', '0340 pm', '1200 pm', '1030 am', '0140 pm'],columns=['value']).plot(kind='barh')
我想用红色的“上午”条来区分“上午”和“下午”,我该怎么做?
您可以像这样使用遮罩分两次绘制数据:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(1,100,6),
index=['1200 am', '1230 am', '0340 pm', '1200 pm', '1030 am', '0140 pm'],
columns=['value'])
m = df.index.str.contains('am')
ax = df.value.mask(m).plot(kind='barh', label='pm', legend=True)
df.value.mask(~m).plot(kind='barh', color='r', ax=ax, label='am', legend=True)
这是我的简化代码
import numpy as np
import pandas as pd
pd.DataFrame(np.random.randint(1,100,6),index=['1200 am', '1230 am', '0340 pm', '1200 pm', '1030 am', '0140 pm'],columns=['value']).plot(kind='barh')
我想用红色的“上午”条来区分“上午”和“下午”,我该怎么做?
您可以像这样使用遮罩分两次绘制数据:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(1,100,6),
index=['1200 am', '1230 am', '0340 pm', '1200 pm', '1030 am', '0140 pm'],
columns=['value'])
m = df.index.str.contains('am')
ax = df.value.mask(m).plot(kind='barh', label='pm', legend=True)
df.value.mask(~m).plot(kind='barh', color='r', ax=ax, label='am', legend=True)