2013-01-23 22 views
5

Colorbar kenarlıklarını nasıl beyaz ve siyah değil (dışsal kenarlık ve her bölüm arasında) olacak şekilde değiştirebilirim?Colorbar kenarlık rengini matplotlib üzerinde özelleştirme

Örneğin:

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

enter image description here

vermek ama istiyorum:

enter image description here

Teşekkür

+0

cb.outline.set_edgecolor('white') 

çalışır, hatta cb.outline.set_visible 'tarafından saydam yapmak için (Yanlış) 'beyaz yerine. – otterb

cevap

11

düzenleme: MPL 1.3 ve sonrası için aşağıdaki yorumlara dikkat edin.

Ekleme: piquer olarak

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

Çok teşekkürler! Beklendiği gibi çalışıyor –

+4

Belki de matplotlib'nin yeni bir sürümü (1.4.3), ancak 'cb.outline.set_edgecolor (' white ') 'kullanmak zorundaydım. – PiQuer

+0

@PiQuer, siz haklısınız. MPL 1.3'te (bence), anahat bir 'Line' nesnesinden' Polygon' nesnesine dönüştürülür. 'Set_color' kullanarak, hem ** edge ** hem de ** facecolor ** 'ü etkiler, ancak' Line' bir ** facecolor **' a sahip olmadığı için iyi çalışıyordu. Şimdi ** edgecolor ** 'i özellikle önerdiğiniz gibi ayarlamak, gitmek için bir yoldur. Güncelleme için teşekkürler. Bakınız: https://github.com/matplotlib/matplotlib/pull/2352 –

0

söz: Bir yan not olarak günümüzde

İlgili konular