Предположим, у нас есть разреженная матрица, представленная в виде словаря Python, где ключи - это кортежи с координатами (x, y)
, а значения - "интенсивность". Как лучше всего представить ее с помощью Matplotlib?Чтобы усложнить ситуацию немного дальше, координаты не обязательно являются целыми числами, например, ось X является временной шкалой, а значения y
являются числами с плавающей запятой.
В настоящее время я преобразую словарь в 3 списка и используюplt.scatter
, как
from datetime import datetime as dt
import matplotlib.pyplot as plt
data = {(dt(2018, 12, 5), 13.37): 36.565,
(dt(2018, 12, 8), 90.01): 94.874,
(dt(2018, 12, 13), 42.42): 65.131}
X = [x for x, y in data]
Y = [y for x, y in data]
C = list(data.values())
plt.scatter(X, Y, c=C)
plt.colorbar()
Есть ли лучший способ сделать это, особенно когда матрица содержит миллионы точек?