Sto provando a produrre una trama di contorno riempita in matplotlib usando il profilo. I dati mancano in uno schema frastagliato vicino al fondo della trama. La trama del contorno risulta vuota non solo dove i dati originali sono mascherati, ma anche nelle tasche in cui l'algoritmo del contorno non può interpolare in modo pulito perché c'è un insufficiente intorno di dati buoni.Masking parte di un tracciato di contorno in matplotlib
So come estendere il dataset per produrre contorni plausibili in queste tasche. Tuttavia, se traccio i dati estesi ottengo il riempimento del contorno ovunque. Vorrei mascherare le regioni in cui mancavano i dati originali in bianco o nero.
Su una discussione precedente ho imparato come eseguire questa operazione per un'immagine tracciando la prima immagine e quindi coprendola con un'altra immagine che nasconde le aree danneggiate. L'analogo sarebbe il frammento di codice qui sotto, ma non funziona per un contorno ... Non riesco a ottenere l'imraggio bad_data per coprire il plot esteso del profilo. È possibile?
Grazie, Eli
import matplotlib.pyplot as plt
lev = [0.0,0.1,0.2,0.5,1.0,2.0,4.0,8.0,16.0,32.0]
norml = colors.BoundaryNorm(lev, 256)
# this is the contour plot, using extended_data so that the contours are plausibly extended
cs = plt.contourf(x,z,extended_data,levels = lev, cmap = cm.RdBu_r,norm = norml)
# now the attempt to cover it up -- but imshow will not cover up the original plot as it will with another image
bad_data = np.ma.masked_where(~data.mask, data.mask, copy=True)
plt.imshow(bad_data, interpolation='nearest', aspect = 'auto', cmap=cm.gray)
plt.show()
Vorrei aggiungere che da quando questo post ho capito che potevo identificare la regione e l'uso di riempimento() per bloccare la regione. Quindi l'urgenza è più bassa, anche se sarebbe comunque utile sapere se questo può essere fatto. –
Supponendo che tu abbia un array 5x5 e l'indice [1, 1] mancasse, cosa ti aspetti di vedere? L'indice [1, 1] sarebbe disegnato come un indicatore? – pelson
Puoi pubblicare un esempio di lavoro minimo? – EnricoGiampieri