我目前有两个大型数据集,我想对它们进行比较。我分别有他们,一个红色和一个蓝色,但我想显示红色和蓝色并排。我该怎么办?使用两种不同颜色的数据集创建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