python 中具有多个变量的堆积条形图

Stacked Bar Chart with multiple variables in python

所以我正在努力用我拥有的一些数据来解决一个基本问题,但我似乎无法解决这个问题。 我有这个数据 table

Amino Acid Agaricus bisporus Aspergillus nidulans Bipolaris maydis
CYS 0 0 0
ASP 0 0 0
GLU 0 0 0
PHE 0 0 0
GLY 0 0 0
HIS 0 0 0
ILE 0 0 0
LYS 10 7 16
LEU 0 0 0
MET 0 0 0
ASN 9 15 15
PRO 0 0 0
GLN 11 13 4
ARG 13 16 21
SER 11 13 8
THR 9 11 9
VAL 0 0 0
TRP 8 7 6
TYR 9 6 7

我这辈子都想不出如何将其转换成如下所示的堆积条形图。 我需要颜色来代表不同的氨基酸。 老实说,此时我已经醒了 30 个小时,所以任何帮助将不胜感激。

我已尝试转换为长格式,但仍然会产生与以前相同的问题。 当我使用默认绘图设置时,这就是我得到的

对于通过 pandas 的堆叠条形图,每一列都将转换为一层条形图。数据帧的索引将用作 x-axis.

在给定的数据框中,您似乎需要 x-axis 的列。使用 .T 转置数据框(交换行和列)会有所帮助。首先,您需要将氨基酸设置为索引。

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_html('

ax = df.set_index('Amino Acid').T.plot.bar(stacked=True, rot=0, cmap='tab20', figsize=(10, 7))
ax.legend(bbox_to_anchor=(1.01, 1.02), loc='upper left')
plt.tight_layout()
plt.show()