2013-01-24 15 views
7

robię kilka plastrów jak tak -Dlaczego matplotlib.PatchCollection miesza się z kolorem poprawek?

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) 

i początkowo właśnie umieszczając je prosto na moją osi tak -

self.plotAxes.add_artist(node.shape) 
self.plotAxes.add_artist(node.brushShape) 

To działało w porządku. Ale teraz chcę umieścić je w PatchCollection i umieścić tę PatchCollection na osi. Jednak kiedy to robię, wszystkie moje kształty są po prostu niebieskie. Nie rozumiem, jak po prostu wkładanie do kolekcji jakoś zmienia kolor. Czy ktoś może mi pomóc w tym, co muszę robić, aby zachować wartości kolorów, które wprowadzam jako faceColor dla łatek?

Nowy kod jest -

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) 

Odpowiedz

13
self.p = PatchCollection(self.patches, match_original=True) 

Domyślnie kolekcji plastra nadmiernie jedzie dany kolor (doc) dla celów mogąc zastosować mapę kolor, kolory, itp Ten cykl jest funkcją poziomu collection (i tym, co zasila kod za działką rozproszoną).

+0

To zadziałało! Dzięki wielkie! – Sterling

+0

@pceccon Dzięki za złapanie błędu pisowni. Naprawiłem, przykro, że edycja została odrzucona. – tacaswell

Powiązane problemy