Я работаю над набором данных, для которого я вычисляю несколько статистических данных. Для каждой статистики я хочу создать гистограмму с накоплением. Однако цвет легенд меняется от сюжета к сюжету, потому что, очевидно, они рассчитываются заново с нуля для каждого сюжета. Вот пример:
import pandas as pd
import numpy as np
df1 = pd.DataFrame(
{
"X": ["A"] * 3 + ["B"] * 5,
"Y": ["a", "b", "c", "a", "b", "c", "d", "e"],
"v": np.random.random(8),
}
).set_index(["X", "Y"])
ax = df1.unstack().loc[:, "v"].plot(kind="bar", stacked=True, figsize=(5, 2))
ax.legend(loc="lower center", bbox_to_anchor=(0.5, -0.55), ncol=5)
df2 = pd.DataFrame(
{
"X": ["A"] * 3 + ["B"] * 4,
"Y": ["a", "b", "c", "a", "b", "c", "e"],
"v": np.random.random(7),
}
).set_index(["X", "Y"])
ax = df2.unstack().loc[:, "v"].plot(kind="bar", stacked=True, figsize=(5, 2))
ax.legend(loc="lower center", bbox_to_anchor=(0.5, -.55), ncol=5)
В результате получаются два таких графика:

Как видно, "e "имеет разные цвета на двух участках. Любое предложение, как я могу согласовать цвета на нескольких участках?