Ich muss Werte meiner Matrix mit matshow anzeigen. Aber mit dem Code, den ich jetzt habe, bekomme ich nur zwei Matrizen - eine mit Werten und anderen Farben. Wie stelle ich sie auf? Thanks :)Anzeige Matrixwerte und Colormap
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
min_val, max_val = 0, 15
for i in xrange(15):
for j in xrange(15):
c = intersection_matrix[i][j]
ax.text(i+0.5, j+0.5, str(c), va='center', ha='center')
plt.matshow(intersection_matrix, cmap=plt.cm.Blues)
ax.set_xlim(min_val, max_val)
ax.set_ylim(min_val, max_val)
ax.set_xticks(np.arange(max_val))
ax.set_yticks(np.arange(max_val))
ax.grid()
Ausgang:
Vielen Dank! :) Könnten Sie bitte den Schritt erläutern, in dem Sie die Reihenfolge des Indexes für das Textlabel ändern? Warum ist es notwendig, 'i' und' j' zu ändern? – fremorie
Es geht darum, ob Sie die Array-Indizierung als C-Bestellung oder FORTRAN-Bestellung betrachten. Sie können darüber lesen: https://docs.scipy.org/doc/numpy/reference/internals.html#multidimensional-array-indexing-order-issues – tom