Grazie per mettere insieme un semplice esempio del problema - si fa davvero indagare questo molto più facile!
Esiste una soluzione a questo problema?
Sì, è venuto fuori! La mia ipotesi iniziale, osservando solo l'immagine che hai allegato, era che c'erano degli strani clipping/clipping in corso. Dopo aver escluso la possibilità di antialiasing (sfogliando l'interruttore che hai fornito), l'unico altro modo per testare era impostare la parola chiave "snap" su false (per i documenti molto limitati sul metodo snap vedere http://matplotlib.org/api/artist_api.html#matplotlib.artist.Artist.set_snap).
Impostazione scatto fa il trucco e si finisce con i risultati attesi:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
ax = plt.axes()
for x in range(-10,11):
for y in range(-10,11):
rect = patches.Rectangle((x, y), width=0.1, height=0.1,
color='k', snap=False)
ax.add_patch(rect)
plt.xlim([-30, 30])
plt.ylim([-30, 30])
plt.show()
Un confronto visivo (probabilmente meglio aprire l'immagine in una nuova finestra come browser probabilmente scalare l'immagine e introdurre ulteriori effetti visivi):
io non sono particolarmente informato circa la proprietà a scatto in MPL e se questo è un comportamento davvero auspicabile, così mi post una domanda sulla MPL-devel mailing list per aprire una conversazione su questa domanda. Speriamo che questa risposta ti possa aiutare nel frattempo.
Ho avuto questo problema pure. Questo non aiuta la tua sessione interattiva, ma per quello che vale se si salva l'immagine in un formato vettoriale, ad esempio 'plt.save (" a.pdf ")' il pdf risultante non subisce gli stessi artefatti. – Hooked
L'impostazione di 'ec = 'none'' potrebbe aiutare un po':' rect = patches.Rectangle ((x, y), width = 1, height = 1, color = 'k', ec = 'none') ' –
Non ho potuto riprodurre questo problema. Salvato come png e come jpg con matplotlib 1.1.1 su OS X, e il risultato andava bene. – tiago