SORU
5 NİSAN 2010, PAZARTESİ


Nasıl matplotlib içinde imshow ile özel bir renk olarak NaN değerler yapabilir miyim?

Bir ısı haritası olarak arsa verilere matplotlib içinde imshow kullanmaya çalışıyorum, ama bazı değerler NaNs. Bu NaNs özel bir renk colormap bulunamadı gibi oluşturulmuş etmek istiyorum.

örnek:

import numpy as np
import matplotlib.pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
a = np.arange(25).reshape((5,5)).astype(float)
a[3,:] = np.nan
ax.imshow(a, interpolation='nearest')
f.canvas.draw()

Sonuç görüntü, beklenmedik bir şekilde tüm mavi (jet colormap en düşük renk). Eğer yaparsam ancak, komplo bu gibi:

ax.imshow(a, interpolation='nearest', vmin=0, vmax=24)

- o zaman ben daha iyi bir şey, ama NaN değerler çizilmiş aynı renk olarak vmin... zarif bir şekilde elimden set NaNs çizilmesini ile özel bir renk (örn: gri veya şeffaf)?

CEVAP
5 NİSAN 2010, PAZARTESİ


İnsan Kaynakları Yönetimi, maskeli bir dizi bunu yapmak için kullanabilirim gibi görünüyor:

masked_array = np.ma.array (a, mask=np.isnan(a))
cmap = matplotlib.cm.jet
cmap.set_bad('w',1.)
ax.imshow(masked_array, interpolation='nearest', cmap=cmap)

Bu hala önerilere açığım ama yeterli. :]

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011
  • Megan Parken

    Megan Parken

    19 Temmuz 2009
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010