У меня есть разреженная матрица X, форма (6000, 300). Я хотел бы что-то вроде диаграммы рассеяния, которая имеет точку, где X (i, j)! = 0 и пустое пространство в противном случае. Я не знаю, сколько ненулевых записей есть в каждой строке X. X [0] имеет 15 ненулевых записей, X [1] имеет 3 и т. Д. Максимальное количество ненулевых записей в строке равно 16.Python: Участок разреженной матрицы
Попытки:
plt.imshow(X)
приводит к высокому, тощему графу из-за формой X. Используяplt.imshow(X, aspect='auto)
будет растянуть график по горизонтали, но точка растянуться, чтобы стать эллипсами, а сюжет становится трудно читать ,ax.spy
испытывает такую же проблему.bokeh
кажется многообещающим, но действительно налагает мое ядро jupyter.
Бонус:
- ненулевые элементы матрицы X положительные действительные числа. Если бы был какой-то способ отразить их величину, это было бы здорово (например, интенсивность цвета, прозрачность или цветная полоса).
- Каждые 500 строк X принадлежат к одному классу. Это 12 классов * 500 наблюдений (строк) для каждого класса = 6000 строк. Например. X [: 500] относятся к классу A, X [500: 1000] относятся к классу B и т. Д. Было бы неплохо, если бы цветные коды отображались по классам. На данный момент я соглашусь на ручное включение горизонтальных линий каждые 500 строк для разграничения между классами.