Tôi có tập dữ liệu chứa thuộc tính x, y và chúng có thể được vẽ trong bề mặt x-y.Vạch phân tán matplotlib có chậm cho số lượng lớn dữ liệu không?
Ban đầu, tôi sử dụng mã
df.plot(kind='scatter', x='x', y='y', alpha=0.10, s=2)
plt.gca().set_aspect('equal')
Mã này là khá nhanh chóng với kích thước dữ liệu về 50000.
Gần đây, tôi sử dụng một tập dữ liệu mới hơn, với kích thước khoảng 2500000. Và biểu đồ phân tán trở thành chậm hơn nhiều.
Tôi muốn biết, nếu đó là hành vi mong đợi và nếu tôi có thể làm gì để cải thiện tốc độ cốt truyện?
Rõ ràng là ít nhất là tuyến tính liên quan đến số điểm. Tùy thuộc vào kích thước đánh dấu của bạn, hiển thị và dpi tôi không thể tưởng tượng âm mưu rất nhiều điểm làm cho bất kỳ ý nghĩa nào cả. Vì vậy, một cách tiếp cận tự nhiên: down-mẫu dữ liệu khổng lồ của bạn (âm mưu chỉ 10%, lựa chọn ngẫu nhiên). Điều này thậm chí còn quan trọng hơn khi bạn bắt đầu sản xuất cốt truyện của mình trong các định dạng dựa trên đồ họa vector. ** Chỉnh sửa: ** Tôi rất chắc chắn việc sử dụng alpha cũng làm cho việc này rất chậm. Nếu bạn muốn mô phỏng một số cốt truyện mật độ (bằng cách sử dụng chữ cái/bóng), có tất nhiên là cách tiếp cận tốt hơn, nhưng không có đủ thông tin ở đây – sascha
Một gợi ý khác là bạn có thể tạo hình ảnh dựa trên pixel có thể vẽ phần tử. Điều này làm giảm đáng kể mức tiêu thụ bộ nhớ và tốc độ. –
Câu hỏi có thực sự không * "Này, tôi đã tăng số điểm bằng hệ số 50 và tốc độ âm mưu của tôi đột nhiên chậm hơn 50 lần. Có ai cho tôi biết lý do không?" *? – ImportanceOfBeingErnest