2013-01-23 13 views
5

Jak mogę zmienić granice paska koloru tak, aby były białe, a nie czarne (granica zewnętrzna i między poszczególnymi segmentami)?Dostosowywanie koloru obramowania paska koloru na matplotlib

Na przykład:

x=randint(100, size=(10,10)) 
cs=contourf(x) 
cb=colorbar(cs) 

dać

enter image description here

ale chcę:

enter image description here

Dzięki

+0

Na marginesie, można nawet zrobić to przezroczysty przez 'cb.outline.set_visible (fałsz) 'zamiast białego. – otterb

Odpowiedz

11

edytuj: Zobacz komentarze poniżej dla MPL 1.3 i nowszych.

Dodaj:

cb=colorbar(cs, drawedges=True) 

cb.outline.set_color('white') 
cb.outline.set_linewidth(2) 

cb.dividers.set_color('white') 
cb.dividers.set_linewidth(2) 
+0

Wielkie dzięki! Działa zgodnie z oczekiwaniami. –

+4

Może to nowa wersja matplotlib (1.4.3), ale musiałem użyć 'cb.outline.set_edgecolor ('white')'. – PiQuer

+0

@PiQuer, masz rację. W MPL 1.3 (myślę), kontur jest zmieniany z obiektu 'Line' na obiekt' Polygon'. Użycie 'set_color' wpływa na ** edge ** i ** facecolor **, ale ponieważ' Line' nie ma ** facecolor **, to działało dobrze. Teraz ustawienie ** edgecolor ** specjalnie, jak sugerujesz, jest drogą do zrobienia. Dziękuję za aktualizację. Zobacz: https://github.com/matplotlib/matplotlib/pull/2352 –

0

Jak Piquer wymienić:

cb.outline.set_edgecolor('white') 

prace w dzisiejszych czasach

Powiązane problemy