Faccio una serie di patch in questo modo -Perché matplotlib.PatchCollection ha problemi con il colore delle patch?
node.shape = RegularPolygon((node.posX, node.posY),
6,
radius = node.radius,
edgecolor = 'none',
facecolor = node.fillColor,
zorder = node.zorder)
node.brushShape = RegularPolygon((node.posX, node.posY),
6,
node.radius * 0.8,
linewidth = 3,
edgecolor = (1,1,1),
facecolor = 'none',
zorder = node.zorder)
E in origine ero semplicemente inserendole direttamente sul mio asse come questo -
self.plotAxes.add_artist(node.shape)
self.plotAxes.add_artist(node.brushShape)
che ha funzionato bene. Ma ora voglio inserirli in un PatchCollection e posizionare quel PatchCollection sull'asse. Tuttavia, quando lo faccio, tutte le mie forme sono solo blu. Non capisco come solo mettere in una collezione stia cambiando il colore in qualche modo. Qualcuno può darmi una mano su ciò che devo fare per mantenere i valori dei colori che ho inserito come faceColor per i patch?
Il nuovo codice è -
node.shape = RegularPolygon((node.posX, node.posY),
6,
radius = node.radius,
edgecolor = 'none',
facecolor = node.fillColor,
zorder = node.zorder)
node.brushShape = RegularPolygon((node.posX, node.posY),
6,
node.radius * 0.8,
linewidth = 3,
edgecolor = (1,1,1),
facecolor = 'none',
zorder = node.zorder)
self.patches.append(node.shape)
self.patches.append(node.brushShape)
self.p = PatchCollection(self.patches)
self.plotAxes.add_collection(self.p)
Questo ha funzionato! Grazie mille! – Sterling
@pceccon Grazie per aver catturato l'errore di ortografia. Ho risolto il problema, mi spiace che la modifica sia stata respinta. – tacaswell