Tôi đang cố gắng vẽ một loạt các điểm dữ liệu (nhiều nghìn) trong Python bằng cách sử dụng matplotlib vì vậy tôi cần mỗi điểm đánh dấu rất nhỏ và chính xác. Làm cách nào để nhận được điểm đánh dấu đơn giản nhất có thể? Tôi sử dụng lệnh này để vẽ dữ liệu của mình:Lập bản đồ Python: Làm thế nào tôi có thể làm cho dừng matplotlib.pyplot buộc kiểu đánh dấu của tôi?
matplotlib.pyplot(x , y ,'.',markersize=0.1,linewidth=None,markerfacecolor='black')
Sau đó, tôi có thể xem nó bằng pl.show()
và sau đó lưu. Hoặc trực tiếp sử dụng plt.savefig('filename.ps')
trong mã để lưu. Vấn đề là: khi tôi sử dụng pl.show()
để xem tệp trong GUI có vẻ tuyệt vời với các dấu nhỏ màu đen nhỏ, tuy nhiên khi tôi lưu từ giao diện show()
sang tệp hoặc sử dụng trực tiếp savefig
và sau đó xem ps
! Mỗi điểm đánh dấu đã thu được một vầng hào quang nhỏ màu xanh xung quanh nó (như thể nó bắt đầu ở mỗi điểm để kết nối chúng với các đường màu xanh mặc định, nhưng không) và phong cách là tất cả sai. Tại sao nó thay đổi phong cách khi được lưu? Làm thế nào để ngăn chặn python từ buộc phong cách của các dấu hiệu? Và có tôi đã xem xét một số gói thay thế như CairoPlot, nhưng tôi muốn tiếp tục sử dụng matplotlib cho bây giờ.
Cập nhật: Nó chỉ ra rằng các lưu vào PNG đầu tiên làm cho màu sắc biến ra sao, nhưng nó buộc một sự chuyển đổi của hình ảnh khi tôi muốn lưu nó lại như một .ps
sau (để đưa vào một PDF) và sau đó tôi mất chất lượng. Làm cách nào để giữ nguyên bản chất vectơ của tệp và nhận định dạng đúng?
Vâng, đối với điểm xếp hạng, phiên bản thân của CairoPlot có lớp ScatterPlot. Bằng cách sử dụng đó bạn có thể xác định bán kính của điểm đánh dấu, vì vậy bạn có thể chỉ cần đặt nó là 1 vì nó sẽ là tùy chọn nhỏ nhất. Có lý do đặc biệt nào để bạn không sử dụng CairoPlot không? – Rodrigo