Построение только определенных точек с использованием imshow matplotlib [duplicate]

Q: - ... "Можно использовать любой класс, реализующий интерфейс?" A: - Да.

Q: -... «Когда вам это нужно?» A: - Каждый раз, когда вам нужен класс (ы), который реализует интерфейс (ы).

blockquote>

Примечание: мы не смогли создать интерфейс, не реализованный классом - Правда.

  • почему?
  • , потому что интерфейс имеет только прототипы методов, а не определения (просто имена функций, а не их логика)

AnIntf ​​anInst = new Aclass (); // мы могли бы сделать это, только если Aclass реализует AnIntf. // anInst будет иметь ссылку на Aclass.

blockquote>

Примечание: Теперь мы могли бы понять что происходит, если Bclass и Cclass реализуют один и тот же Dintf.

Dintf bInst = new Bclass();  
// now we could call all Dintf functions implemented (defined) in Bclass.

Dintf cInst = new Cclass();  
// now we could call all Dintf functions implemented (defined) in Cclass.

Что мы имеем: те же интерфейсные прототипы (имена функций в интерфейсе) и вызываем разные реализации.

Библиография: Прототипы - википедия

4
задан Learning is a mess 7 October 2015 в 11:59
поделиться

1 ответ

Вы можете использовать numpy.ma.mask_where для сохранения формы массива, например

import numpy as np
import matplotlib.pyplot as plt

lowerBound = 0.25
upperBound = 0.75
myMatrix = np.random.rand(100,100)

myMatrix =np.ma.masked_where((lowerBound < myMatrix) & 
                             (myMatrix < upperBound), myMatrix)


fig,axs=plt.subplots(2,1)
#Plot without mask
axs[0].imshow(myMatrix.data)

#Default is to apply mask
axs[1].imshow(myMatrix)

plt.show()
6
ответ дан Ed Smith 22 August 2018 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: