Tôi đang cố gắng vẽ một ma trận với 2000 cột và 200000 hàng. Tôi có thể kiểm tra âm mưu và kiểm tra xuất mức phạt hình ma trận khi ma trận là nhỏ sử dụngCốt truyện Python Ma trận lớn sử dụng matplotlib
matshow(my_matrix)
show()
Tuy nhiên, khi nhiều hàng được thêm vào my_matrix, con số này trở nên rất hẹp vì có hàng cách hơn cột, do đó mất độ chính xác khi phóng to. Tôi có thể tạo hình ma trận có thể cuộn được không? Nếu không, làm thế nào tôi có thể hình dung ma trận như vậy mà không làm mất độ chính xác?
Tôi cũng đã cố gắng gọi savefig ('tên tệp', dpi = 300) để lưu hình ảnh mà không mất quá nhiều độ chính xác, nhưng nó ném MemoryError khi ma trận lớn. Cảm ơn nhiều!
Có thể quá đơn giản cho nhu cầu của bạn, nhưng bạn đã thử phân tách ma trận lớn thành các phần rồi gọi matshow trên mỗi phần? – lesnikow
'ax.set_aspect ('auto')' sẽ sửa vấn đề về khía cạnh, nhưng điểm ảnh của bạn sẽ là hình chữ nhật chứ không phải hình vuông. Tôi đã làm những việc với 2k x 150k, nhưng nó đang bắt đầu đẩy các giới hạn của những gì mpl có thể làm (có một số số nguyên 32 bit được mã hóa cứng trong mã rasterization C++). – tacaswell
@tcaswell matshow() trả về một AxesImage. Tôi tin rằng hàm set_aspect() chỉ có thể truy cập đối tượng Axes. Tôi không biết làm thế nào để có được đối tượng Axes từ AxesImage. – emily