for (x, y), w in np.ndenumerate(matrix): color = 'white'if w > 0else'black' size = np.sqrt(np.abs(w) / max_weight) rect = plt.Rectangle([x - size / 2, y - size / 2], size, size, facecolor=color, edgecolor=color) ax.add_patch(rect)
ax.autoscale_view() ax.invert_yaxis()
if __name__ == '__main__': # Fixing random state for reproducibility np.random.seed(19680801)