我目前有兩個大型數據集,我想對它們進行比較。我分別有他們,一個紅色和一個藍色,但我想顯示紅色和藍色並排。我該怎麼辦?使用兩種不同顏色的數據集創建matplotlib熱圖
我當前的代碼是:
column_labels = list(heatmap_ylabels)
row_labels = list(heatmap_xlabels)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=plt.cm.Reds)
ax.set_xticks(np.arange(9+0.5))
ax.set_yticks(np.arange(140+0.5))
ax.invert_yaxis()
ax.xaxis.tick_top()
ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)
#plt.show()
plt.savefig('n1_heatmap')
plt.clf()
column_labels = list(heatmap_ylabels)
row_labels = list(heatmap_xlabels)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data1, cmap=plt.cm.Blues)
ax.set_xticks(np.arange(9+0.5))
ax.set_yticks(np.arange(140+0.5))
ax.invert_yaxis()
ax.xaxis.tick_top()
ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)
plt.savefig('n2_heatmap')
plt.clf()
兩個data
和data1
是來自280個不同的文件中提取信息140名不同的列表形成的,是有辦法,我仍然可以以創建一個使用這兩個列表將在同一圖中顯示這些數據的熱圖?
因此,例如,我的熱圖會/紅/藍/紅/藍等
這裏是我的熱圖的一個例子:
編輯:
雖然不顯示正是我想要的,我已經制作了兩幅以前熱度圖之間數值差異的熱圖。
如:y2 = np.subtract(y, y1)
data2.append(y2)
column_labels = list(heatmap_ylabels)
row_labels = list(heatmap_xlabels)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data2, cmap=plt.cm.bwr)
ax.set_xticks(np.arange(9+0.5))
ax.set_yticks(np.arange(140+0.5))
ax.invert_yaxis()
ax.xaxis.tick_top()
ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)
plt.savefig('diff_heatmap')
plt.clf()
當你說'同時顯示紅色和藍色'你的意思是保持一切都一樣,但只是讓它兩個數字出現在一起?或者你的意思是在同一個數字上繪製紅色數據和藍色數據? – DavidG
我想將紅色和藍色的數據繪製在同一張圖上進行比較,所以列會變成紅色/藍色/紅色/藍色等。 – Charlietrypsin
[繪製2D數據:使用不同顏色映射的熱圖](http:/ /stackoverflow.com/questions/25154056/plotting-of-2d-data-heatmap-with-different-colormaps) – jrjc