Я построил разреженную матрицу, используя библиотеку matplotlib с командой scatter .Вот коды:
self.build_jacobian()
normalized = clr.Normalize(vmin=-1, vmax=1)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(self.__jacobian__.tocoo().row, self.__jacobian__.tocoo().col, c=(self.__jacobian__.tocoo().data), s=5, marker='s', edgecolors='none', clip_on=False, cmap='bwr', norm=normalized)
ax.axis('off')
ax.axis('tight')
ax.invert_yaxis()
nama_file = 'self.__jacobian__'+str(itercount)+'.png'
plt.savefig(nama_file)
Предположим, что self.__jacobian__
является разреженной матрицей.Тогда результат: введите описание изображения здесь .Результаты этого графика не очень ясны, а разрешение недостаточно велико.
Я также пытался сравнить, используя команду matshow , вот результаты: введите описание изображенияздесь
Этот метод дает лучший и подробный сюжет.Но на этом пути возникает проблема, которая требует плотной матрицы.Это означает, что разреженная матрица, которую я имею, должна быть преобразована в плотную матрицу или 2D.Это будет проблемой, когда размер моей матрицы очень большой, что требует очень большого объема памяти (ОЗУ).По этой причине я предпочитаю scatter .
. Вопрос заключается в следующем: 1. Возможно ли построение графика с использованием scatterplot для получения четких изображений, таких как * 1023?* matshow ?2. Как я могу дать значение оси X и оси Y в изображении, как изображение из matshow ?3. Исходя из приведенного выше кода, какую часть мне нужно исправить?