我是python的新手,我正在寻找一种方法来直观地表示我的字段值。就像网格热图一样。
我有一个excel文件(我用pd.read_excel导入),如下所示:
X,Y分数
1 1 1 44
2 2 1 37
3 3 1 0
4 3 2 100
诸若此类。
我知道有一种方法可以使用二维Numpy数组到网格中,但还没有找到如何使用我的excel文件。
我想要的东西在最后会像这样
有人能帮帮我吗?
提前谢谢你
发布于 2019-01-15 00:02:37
也许你正在寻找这样的东西(如果你喜欢,你可以改变色彩映射):
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('test.xlsx')
nrows = 2
ncols = 2
# Main Plot
score = np.array(df["Score"]).reshape(nrows,ncols)
plt.matshow(score,cmap=plt.cm.jet)
# Grid Labels
row_labels = range(1,nrows+1)
col_labels = range(1,ncols+1)
plt.xticks(range(ncols), col_labels)
plt.yticks(range(nrows), row_labels)
# Write Score
for i in range(ncols):
for j in range(nrows):
print(score[i,j])
plt.text(i, j, score[i,j], va='center', ha='center',color='white',size='20',weight='bold')

https://stackoverflow.com/questions/54183872
复制相似问题