如何绘制 python 数据框中出现的位置
How to plot the position of occurrence in python data frame
例如我有一个如下所示的数据框:
A B C
0 1 1 1
1 1 1 0
2 1 1 0
3 1 0 1
4 1 0 1
5 1 0 0
6 0 1 0
7 0 1 1
8 0 1 0
9 0 1 1
我如何绘制如下所示的图表,指示具有 1 的列 A
、B
和 C
的索引位置?
顶部栏显示第 A
列,中间栏显示 B
列,底部栏显示 C
列。 x 轴是索引。对于每个条形,蓝色表示此列的此索引处有一个 1,灰色表示相反。
假设您的数据在 df
中,您可以在转置数据帧上调用 plt.imshow
:
import matplotlib.pyplot as plt
plt.imshow(df.T, cmap='Blues')
编辑:对于具有行 >> 列或列 >> 行的数据集,缩放比例可能会混乱。这可以通过更改图中的 aspect
来更改。我在这里使用 10,但您可能应该使用一些值(可能是 0.1 到 100)
plt.imshow(df.T, cmap='Blues')
plt.gca().set_aspect(10)
例如我有一个如下所示的数据框:
A B C
0 1 1 1
1 1 1 0
2 1 1 0
3 1 0 1
4 1 0 1
5 1 0 0
6 0 1 0
7 0 1 1
8 0 1 0
9 0 1 1
我如何绘制如下所示的图表,指示具有 1 的列 A
、B
和 C
的索引位置?
顶部栏显示第 A
列,中间栏显示 B
列,底部栏显示 C
列。 x 轴是索引。对于每个条形,蓝色表示此列的此索引处有一个 1,灰色表示相反。
假设您的数据在 df
中,您可以在转置数据帧上调用 plt.imshow
:
import matplotlib.pyplot as plt
plt.imshow(df.T, cmap='Blues')
编辑:对于具有行 >> 列或列 >> 行的数据集,缩放比例可能会混乱。这可以通过更改图中的 aspect
来更改。我在这里使用 10,但您可能应该使用一些值(可能是 0.1 到 100)
plt.imshow(df.T, cmap='Blues')
plt.gca().set_aspect(10)