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()
所以我正在努力用我拥有的一些数据来解决一个基本问题,但我似乎无法解决这个问题。 我有这个数据 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 |
我这辈子都想不出如何将其转换成如下所示的堆积条形图。
我已尝试转换为长格式,但仍然会产生与以前相同的问题。 当我使用默认绘图设置时,这就是我得到的
对于通过 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()