如何使用二进制值作为颜色矩阵绘制DataFrame?

时间:2017-11-18 18:52:47

标签: python pandas

我有一个类似于以下内容的DataFrame:

Name V1 V2 V3
A    1  0  0
B    1  0  1
C    1  1  0

我想把它想象成一个带有标记行和列的二维矩阵,并根据值是1还是0来着色。

换句话说,我想做这样的事情:Conditional coloring of a binary data frame in R

但是在Python中。

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

将温的评论充实回答 - 使用seaborn.heatmap

import matplotlib.pyplot as plt
import seaborn as sns

sns.set()

df = df.set_index('Name')
df

      V1  V2  V3
Name            
A      1   0   0
B      1   0   1
C      1   1   0
sns.heatmap(df)
plt.show()

enter image description here

答案 1 :(得分:1)

可以将它们绘制为具有各种cmap替代品的图像:https://matplotlib.org/examples/color/colormaps_reference.html

但是从这里你需要更多的格式......

import matplotlib.pyplot as plt
plt.imshow(df.values, interpolation="nearest", cmap='Blues')
plt.show()

enter image description here