Matplotlib: Прозрачность и смешивание цветов

Matplotlib: Прозрачность и смешивание цветов


import numpy as np

import matplotlib.pyplot as plt


# Набор двух облаков точек с наложением

rng = np.random.RandomState(0)

xy1 = rng.normal(loc=[0,0], scale=1.0, size=(400, 2))

xy2 = rng.normal(loc=[1,0.5], scale=1.2, size=(400, 2))


fig, ax = plt.subplots(figsize=(7,5))

ax.scatter(xy1[:,0], xy1[:,1], alpha=0.4, s=30, label='cluster 1')

ax.scatter(xy2[:,0], xy2[:,1], alpha=0.4, s=30, label='cluster 2')

ax.legend()

ax.set_title('Alpha blending for overlapping scatter')

plt.show()


# Наложение изображения и контуров: используем alpha у imshow

img = np.random.rand(100, 200)

fig, ax = plt.subplots()

ax.imshow(img, cmap='gray', alpha=0.7, extent=[0, 10, 0, 5])

# Поверх рисуем линии или точки

xs = np.linspace(0, 10, 200)

ax.plot(xs, 2.5 + 1.5*np.sin(xs), color=(1,0,0,0.8), linewidth=2) # RGBA color

plt.show()

Report Page