Tương tự như một số previous question của tôi, tôi muốn kiểm soát kiểu dòng được vẽ bằng cách sử dụng matplotlib. Tuy nhiên, tôi có một số lượng cực lớn các dòng và vẽ với bất kỳ thứ gì ngoài bộ sưu tập đường mất quá nhiều thời gian. Có cách giải quyết nào để kiểm soát kiểu dáng của đường kẻ trong bộ sưu tập đường theo cách chung hay không (hoặc cách khác, cách siêu nhanh để vẽ một số lượng lớn các dòng Line2D
). Ví dụ: tôi đã thử sử dụng cài đặt rc matplotlib qua:matplotlib - mẫu điều khiển của bộ sưu tập đường/số lượng lớn các dòng
import matplotlib as mpl
mpl.rcParams['lines.solid_capstyle'] = 'round'
mpl.rcParams['lines.solid_joinstyle'] = 'round'
Nhưng điều này dường như không có bất kỳ ảnh hưởng nào. Từ docstring cho collections.py
:
Các lớp này không có nghĩa là đối tác đơn lẻ (ví dụ: bạn không thể chọn tất cả kiểu đường) nhưng chúng có nghĩa là nhanh (ví dụ như một tập hợp lớn các dòng rắn segemnts)
nào giải thích tại sao tôi dường như không thể kiểm soát các thông số khác nhau, nhưng tôi vẫn muốn làm điều đó! Tôi đã xem mã cho phần phụ trợ AGG (_backend_agg.cpp
: không phải là tôi thực sự hiểu nó), và có vẻ như line_cap và line_join được kiểm soát bởi gc.cap
và gc.join
, trong đó gc xuất phát từ lớp GCAgg
. Có ai biết làm thế nào người ta có thể kiểm soát này từ Python? Tôi có hỏi câu hỏi đúng ở đây không? Có lẽ đó là cách dễ dàng hơn để kiểm soát các thông số này?
Bất kỳ trợ giúp nào được đánh giá rất cao ... Tôi đang tuyệt vọng để làm việc này, vì vậy ngay cả những cú đánh điên cũng được chào đón!
Cảm ơn,
Carson
Nice. Trông thật tuyệt! Cảm ơn @ewcz! –
@ewcz Giải pháp này hoạt động tốt cho sản lượng dựa trên agg, cảm ơn!Tôi đã xem xét các nguồn cho backends khác bởi vì tôi muốn có được hiệu ứng này trong một pdf quá. Tôi không thể có vẻ để có được 'ps' hoặc 'pdf' backends để chấp nhận các bản vá mà bạn đã viết, nhưng thú vị là 'svg' phụ trợ có thể xử lý nó. Bất kỳ suy nghĩ về cách tinh chỉnh bản vá này cho đầu ra pdf? – aorr