Python 是否可以绘制带有熊猫箱、海产箱或Matplotlib箱上下限的条形图

Python 是否可以绘制带有熊猫箱、海产箱或Matplotlib箱上下限的条形图,python,pandas,matplotlib,seaborn,Python,Pandas,Matplotlib,Seaborn,我想知道如何绘制一个条形图,其中包含由以下数据框的age\u classes列中的值表示的箱子的上限和下限,数据框使用pandas、seaborn或matplotlib。dataframe的示例如下所示: age_classes total_cases male_cases female_cases 0 0-9 693 381 307 1 10-19 931 475 454 2 20-29 4530 1919 2531 3

我想知道如何绘制一个条形图,其中包含由以下数据框的
age\u classes
列中的值表示的箱子的上限和下限,数据框使用
pandas
seaborn
matplotlib
。dataframe的示例如下所示:

age_classes total_cases male_cases  female_cases
0   0-9     693     381     307
1   10-19   931     475     454
2   20-29   4530    1919    2531
3   30-39   7466    3505    3885
4   40-49   13701   6480    7130
5   50-59   20975   11149   9706
6   60-69   18089   11761   6254
7   70-79   19238   12281   6868
8   80-89   16252   8553    7644
9   >90     4356    1374    2973
10  Unknown 168     84      81

如果您想要这样的图表:

age_classes total_cases male_cases  female_cases
0   0-9     693     381     307
1   10-19   931     475     454
2   20-29   4530    1919    2531
3   30-39   7466    3505    3885
4   40-49   13701   6480    7130
5   50-59   20975   11149   9706
6   60-69   18089   11761   6254
7   70-79   19238   12281   6868
8   80-89   16252   8553    7644
9   >90     4356    1374    2973
10  Unknown 168     84      81

然后您可以使用
sns.barplot
age\u classes
设置为
x
,将一列(在我的示例中为
total\u cases
)设置为
y
,如下代码:

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

df = pd.read_csv('data.csv')

fig, ax = plt.subplots()

sns.barplot(ax = ax,
            data = df,
            x = 'age_classes',
            y = 'total_cases')

plt.show()

如果您想要这样的图表:

age_classes total_cases male_cases  female_cases
0   0-9     693     381     307
1   10-19   931     475     454
2   20-29   4530    1919    2531
3   30-39   7466    3505    3885
4   40-49   13701   6480    7130
5   50-59   20975   11149   9706
6   60-69   18089   11761   6254
7   70-79   19238   12281   6868
8   80-89   16252   8553    7644
9   >90     4356    1374    2973
10  Unknown 168     84      81

然后您可以使用
sns.barplot
age\u classes
设置为
x
,将一列(在我的示例中为
total\u cases
)设置为
y
,如下代码:

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

df = pd.read_csv('data.csv')

fig, ax = plt.subplots()

sns.barplot(ax = ax,
            data = df,
            x = 'age_classes',
            y = 'total_cases')

plt.show()