Matplotlib pcolormesh с альфа-данными [дубликат]

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.

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

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

1
задан Ielm 24 August 2015 в 08:31
поделиться

1 ответ

Вы можете сделать это с помощью pcolormesh и затем установить alpha для граней QuadMesh. Например:

import numpy as np
import matplotlib.pyplot as plt

fig,ax = plt.subplots(1)
ax.set_aspect('equal')

# The data array
m1 = np.random.rand(5,5)
# The alpha array. Normalize your map2 to the range 0,1
m2 = np.linspace(0,1,25).reshape(5,5) 

p = ax.pcolormesh(m1)
plt.savefig('myfig.png') # or fig.canvas.draw()

for i,j in zip(p.get_facecolors(),m2.flatten()):
    i[3] = j # Set the alpha value of the RGBA tuple using m2

plt.savefig('myfig.png')

Примечание: вам кажется, вам нужно сохранить фигуру (или plt.show() или fig.canvas.draw()) после команды pcolormesh, чтобы сгенерировать массив p.get_facecolors; вот почему я дважды сохраняю фигуру. Возможно, это более элегантное решение, но я не могу думать об этом с головы. Вот результат; обратите внимание на увеличение alpha от нижнего левого угла к верхнему праву:

4
ответ дан ImportanceOfBeingErnest 22 August 2018 в 16:57
поделиться
  • 1
    Большое вам спасибо, это именно то, что я искал! Это позволяет мне сосредоточить внимание читателя на том, что происходит на самом деле, но все же представляет вторую переменную с цветовой схемой. – Ielm 24 August 2015 в 15:37
Другие вопросы по тегам:

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