我对python很陌生,我正在寻找一种可视化表示我的字段值的方法。就像网格热图一样。
我有一个Excel文件(使用pd.read_excel导入),如下所示:
#X Y得分
1 1 1 44
2 2 1 37
3 3 1 0
4 3 2 100
以此类推。
我知道有一种方法可以在网格中使用2d numpy数组,但是还没有找到如何对我的excel文件进行处理。
我想要一个最终看起来像这样的东西
有人可以帮我吗?
提前谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
也许您正在寻找类似的东西(您可以根据需要更改颜色图):
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')