Matplotlib 如何使用特定颜色对条形图进行排序?

Matplotlib 如何使用特定颜色对条形图进行排序?,matplotlib,graph,Matplotlib,Graph,我试图以与数据帧相同的顺序对具有不同颜色的图形进行排序,但是当我对值进行排序时,颜色不会改变 import pandas as pd import numpy as np import matplotlib.pyplot as plot changelist = (0.1, 0.12, 0.13, -0.1, 0.05, 0.07) assetlist = ('a', 'b', 'c', 'd', 'e', 'f') clrs = ('yellow', 'green', 'blue', 'bl

我试图以与数据帧相同的顺序对具有不同颜色的图形进行排序,但是当我对值进行排序时,颜色不会改变

import pandas as pd
import numpy as np
import matplotlib.pyplot as plot

changelist = (0.1, 0.12, 0.13, -0.1, 0.05, 0.07)
assetlist = ('a', 'b', 'c', 'd', 'e', 'f')
clrs = ('yellow', 'green', 'blue', 'blue', 'green', 'yellow')

data = {"Assets":assetlist,
        "Change":changelist,
        "Colors":clrs,    
        }
dataFrame = pd.DataFrame(data=data)
dataFrame.sort_values("Change", ascending=False)

dataFrame.plot.bar(x="Assets", y="Change", rot=90, title="Desempeño Principales Activos Enero en MXN", color=clrs)

plot.show(block=True)

您需要使用
inplace=True
对数据帧本身进行排序。否则,该函数将返回排序后的数据帧,而不更改原始数据帧

此外,还需要将排序数据框中的列作为颜色列表,而不是原始的未排序颜色列表

(请注意,在Python中,字符串需要单引号或双引号,并且命令不以分号结尾。)

将熊猫作为pd导入
将numpy作为np导入
将matplotlib.pyplot导入为绘图
变更列表=(0.1,0.12,0.13,-0.1,0.05,0.07)
资产清单=('a','b','c','d','e','f')
clrs=(‘黄色’、‘绿色’、‘蓝色’、‘蓝色’、‘绿色’、‘黄色’)
数据={“资产”:资产列表,
“变更”:变更列表,
“颜色”:clrs}
dataFrame=pd.dataFrame(数据=数据)
dataFrame.sort_值(“更改”,升序=False,原地=True)
dataFrame.plot.bar(x=“Assets”,y=“Change”,rot=90,title=“Desempeño Principales Activos Enero en MXN”,
颜色=数据帧[“颜色”])
plot.show(block=True)