Python 3.x 是否可以在matplotlib stackplot中显式设置堆栈顺序?

Python 3.x 是否可以在matplotlib stackplot中显式设置堆栈顺序?,python-3.x,pandas,matplotlib,Python 3.x,Pandas,Matplotlib,我想显式设置Matplotlib stackplot中堆栈的顺序。以下是一个例子: import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline np.random.seed(1) df = pd.DataFrame(np.random.randint(0,100,size=(100,4)),columns=list('ABCD')) df.plot(kind='area',

我想显式设置Matplotlib stackplot中堆栈的顺序。以下是一个例子:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

np.random.seed(1)
df = pd.DataFrame(np.random.randint(0,100,size=(100,4)),columns=list('ABCD'))

df.plot(kind='area',stacked=True,figsize=(20,10));
这将生成以下图像:

数据帧的最后一行来自:

df.tail(1)
是:

以下是我想要实现的目标:

我想对堆栈的绘图进行重新排序,以使堆栈从下到上A、B、D、C进行绘图,即从下到上按df最后一行中增加值的顺序排列的列

到目前为止,我已尝试在绘图之前对df中的列进行明确的重新排序:

df[['A','B','D','C']].plot(kind='area',stacked=True,figsize=(20,10))
但这会产生与上面完全相同的图表


谢谢你的帮助

这些图表不一样。查看红色图形下方的区域,查找粒子x。对于绿色和蓝色阴影区域,这些图形的形状是不同的

现在

df[['A','B','D','C']].plot(kind='area',stacked=True,figsize=(20,10))

这些图表不一样。查看红色图形下方的区域,查找粒子x。对于绿色和蓝色阴影区域,这些图形的形状是不同的

现在

df[['A','B','D','C']].plot(kind='area',stacked=True,figsize=(20,10))

实际上,它没有创建相同的绘图。红色图表下的颜色或形状相同,但形状不同。仔细看,是,是,是。我正在从一个现有问题创建一个示例。看来你在这方面是对的,但让我回到原来的,再检查一遍。谢谢你!。。。啊。即使是这样,情况也是如此。所以重新订购就这么简单!谢谢你注意细节!我想我们把问题留在这里,以防有人需要这方面的专门知识!再次感谢。事实上它没有创造相同的情节。红色图表下的颜色或形状相同,但形状不同。仔细看,是,是,是。我正在从一个现有问题创建一个示例。看来你在这方面是对的,但让我回到原来的,再检查一遍。谢谢你!。。。啊。即使是这样,情况也是如此。所以重新订购就这么简单!谢谢你注意细节!我想我们把问题留在这里,以防有人需要这方面的专门知识!再次感谢。