Python Seaborn-根据x名称而不是色调更改条形图颜色?

Python Seaborn-根据x名称而不是色调更改条形图颜色?,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,例如: 导入seaborn作为sns 作为pd进口熊猫 将matplotlib.pyplot作为plt导入 sns.set_样式('darkgrid') 图,ax=plt.子批次() a=pd.DataFrame({'Program':['a','a','B','B','Total','Total'], '场景':['X','Y','X','Y','X','Y'], “持续时间”:[4,3,5,4,9,7]}) g=sns.barplot(数据=a,x='Scenario',y='Duratio

例如:

导入seaborn作为sns
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
sns.set_样式('darkgrid')
图,ax=plt.子批次()
a=pd.DataFrame({'Program':['a','a','B','B','Total','Total'],
'场景':['X','Y','X','Y','X','Y'],
“持续时间”:[4,3,5,4,9,7]})
g=sns.barplot(数据=a,x='Scenario',y='Duration',
hue='Program',ci=None)

我希望
x=x
x=Y
具有不同的颜色,但每个色调的颜色相同(A、B、总计…)。(可能不止两种情况)。
如何根据x名称而不是色调来更改条形图的颜色?

我不知道使用
sns.barplot
设置颜色的任何简单方法。以下是如何改为使用:


调色板={“A”:“蓝色”、“B”:“蓝色”、“总计”:“红色”}
@ImportanceOfBeingErnest例如,我希望X是蓝色,Y是红色,无论A、B、总计。我可以区分A,B,总的顺序,不需要颜色。
import pandas as pd    # v 1.1.3
import seaborn as sns  # v 0.11.0
sns.set_style('darkgrid')

# Create sample dataset
a = pd.DataFrame({'Program': ['A', 'A', 'B', 'B', 'Total', 'Total'],
                  'Scenario': ['X', 'Y', 'X', 'Y', 'X', 'Y'],
                  'Duration': [4, 3, 5, 4, 9, 7]})

# Pivot table and plot data in a bar chart
a_pivot = a.pivot(index='Scenario', columns='Program')
ax = a_pivot.plot.bar(color=[['tab:blue', 'tab:orange']], rot=0,
                      legend=None, figsize=(8,5))

# Format labels and ticks
ax.set_xlabel('Scenario', labelpad=10, size=14)
ax.set_ylabel('Duration', labelpad=20, size=14)
ax.tick_params(axis='both', labelsize=12)