Es scheint, dass PCOLOR die letzte Zeile und Spalte meines Datensatzes abschneidet. Drucken der Form von zi
unten offenbart, dass es (22,22)
ist, wie ich es erwarte, aber eine Fläche von 21 Quadrate von 21 Quadrate wird angezeigt ... Irgendeine Idee, warum die letzte Zeile und Spalte nicht geplottet werden?Matplotlib: pcolor() zeichnet letzte Zeile und Spalte nicht?
def pcolor_probs(x,y,z, x_str, y_str, t_str):
xi = np.arange(min(x),max(x)+1, 1)
yi = np.arange(min(y),max(y)+1, 1)
zi = griddata(x,y,z,xi,yi)
print np.shape(xi),np.shape(yi),np.shape(zi)
# fix NANs
zi = np.asarray(zi)
for i in range(len(zi)):
for j in range(len(zi[i])):
print i,j
if isnan(float(zi[i][j])):
zi[i][j] = 0
# plot
f = figure()
ax = f.add_subplot(111)
pc_plot = ax.pcolor(zi, cmap = cm.coolwarm, shading = 'faceted', alpha = 0.75)
# pc_plot = ax.contourf(zi, 20, cmap = cm.coolwarm, alpha = 0.75)
ax.set_xticks(np.arange(zi.shape[0])+0.5, minor=False)
ax.set_yticks(np.arange(zi.shape[1])+0.5, minor=False)
ax.set_xticklabels(np.arange(len(xi)))
ax.set_yticklabels(np.arange(len(yi)))
ax.set_xlim(min(x), max(x))
ax.set_ylim(min(y), max(y))
ax.set_xlabel(x_str)
ax.set_ylabel(y_str)
ax.set_title(t_str)
f.colorbar(pc_plot)
f.set_tight_layout(True)
font = {'family' : 'serif','weight' : 'regular','size' : 12}
matplotlib.rc('font', **font)
show()
Sagen wir es noch einfacher machen,
X = np.random.rand(10,10)
pcolor(X)
show()
Produziert,
Bitte fügen Sie einen Link zur Dokumentation von pcolor hinzu. – tacaswell