如何生成每组中条数不同的组条形图?

How to generate a group bar plot with different numbers of bars in each group?

我知道如何使用 matplotlib 生成一个通用的组条形图,如下所示: A Grouped bar chart from matplotlib

每组有2个小节。

但是我如何生成一个组条形图,每个组中有不同数量的条形图,例如 Group1 中有 2 个条形图,而 Group2 中有 3 个条形图?

谢谢。

可以使用catplot,例如:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.DataFrame({'group': ['group 1', 'group 1', 'group 2', 'group 2', 'group 2'],
                   'bar': ['bar 1', 'bar 2', 'bar 1', 'bar 2', 'bar 3'],
                   'value': [1, 2, 3, 4, 5]})
g = sns.catplot(kind='bar', data=df, col='group', x='bar', y='value',
                hue='bar', palette='rocket', dodge=False, sharex=False)
plt.tight_layout()
plt.show()