所以,我有一个二维整数数组来定义网格上的区域。我想在不同地区之间的边界上画边。你知道吗
我尝试了contour(在代码中被注释掉),但得到了两个不希望的结果:
from matplotlib import pyplot as plt
import numpy as np
nproc = 5
data = np.array([
[0, 0, 0, 1, 1, 1],
[0, 0, 1, 1, 2, 2],
[2, 3, 3, 2, 2, 2],
[2, 4, 1, 2, 2, 2],
[4, 4, 4, 0, 0, 2],
[3, 3, 4, 1, 1, 1],
])
cmap = plt.cm.get_cmap('jet', nproc)
heatmap = plt.pcolor(data, vmin=0, vmax=nproc-1, cmap=cmap)
plt.autoscale(tight=True)
colorbar = plt.colorbar(heatmap)
colorbar.ax.get_yaxis().set_ticks([])
"""
contour = plt.contour(data, range(0, nproc),
colors='k', linestyles='solid')
"""
for j, lab in enumerate(['$%d$' % i for i in range(0, nproc)]):
colorbar.ax.text(1.2, (2 * j + 1) / float(nproc*2),
lab, ha='left', va='center')
plt.savefig('output.pdf')
目前没有回答
相关问题 更多 >
编程相关推荐