我已经陷入过敏困境,无法解决这个问题,因为标签轴网格没有按照我预期的方式排列。
from matplotlib import pyplot as plt
from matplotlib import cm as cm
def correlation_matrix(x):
fig = plt.figure(figsize=(6,5))
ax = fig.add_subplot(111)
cmap = cm.get_cmap('jet', 30)
cax = ax.imshow(x.corr(),interpolation='nearest', cmap=cmap)
ax.grid(True)
plt.axis('tight')
plt.title('Twitter Correlations')
labels = [x.columns[i] for i in range(3, len(x.columns))]
labels_dict = {labels[i]:i for i in range(len(labels))}
plt.xticks(range(len(labels)),list(labels_dict.keys()),
rotation='45', fontsize = 10.0)
plt.yticks(range(len(labels)),list(labels_dict.keys()),
rotation='45', fontsize = 10.0)
fig.colorbar(cax)
plt.tight_layout(pad=0)
plt.show()
correlation_matrix(df)
以下是不合需要的矩阵:
有矩阵可视化经验的人有什么想法吗?谢谢!
编辑:在我发布的时候将其固定
如果有人想知道,请务必事先检查列的数据类型。问题是时间戳列仍然是字符串格式,执行
df['time'] = df['time'].astype('int')
解决了这个问题。