例如,我有一些分数表示某些类之间的关系。为了在使用pyplot.imshow
时可视化它们之间的关系,它可以很好地显示关系。但是,如果我可以想象产生该分数的值,那将是很好的。碰巧我无法做到这一点,但我模仿了我认为应该如何做到这一点。有没有人有想法?
非常感谢@ behzad.nouri在另一个question中的回答,我可以把代码放在一起做我需要的。所以为了将来参考(请记住,这可能不是最诡计多端的做事方式):
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import patheffects
from matplotlib import cm
a_size = 5
foo_o = np.random.random_integers(30, size=(a_size, a_size))
foo_m = np.zeros([a_size, a_size])
for i in xrange(a_size):
for j in xrange(a_size):
_sum = foo_o[i][i] + foo_o[j][j]
comb = foo_o[i][j]
foo_m[i][j] = float(comb)/float(_sum)
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.imshow(foo_m, cmap=cm.jet, interpolation='None', origin='lower', aspect='auto')
for i in xrange(a_size):
for j in xrange(a_size):
ax.text(j, i, '{:.2f}'.format(foo_o[i][j]),
size='medium', ha='center', va='center',
path_effects=[patheffects.withSimplePatchShadow(shadow_rgbFace=(1, 1, 1))])
plt.show()
这样就产生了以下结果: