與我的previous question類似,我想控制使用matplotlib繪製的線條的capstyle。但是,我有非常多的線條,並且使用線條集合以外的任何東西繪製都會花費太長時間。是否有任何解決方法來以一種通用的方式控制線條集合中的線條樣式(或者是繪製大量線條的超快速方法)。例如,我嘗試過使用matplotlib rc設置:matplotlib - 線條集合的控制capstyle /大量行
import matplotlib as mpl
mpl.rcParams['lines.solid_capstyle'] = 'round'
mpl.rcParams['lines.solid_joinstyle'] = 'round'
但是這看起來沒有任何影響。從文檔字符串爲collections.py
:
的類並不意味着是它們的單一元素的同行一樣靈活(例如,你可能無法選擇所有線型),但他們註定要快於常見的使用情況(如大集實線segemnts)
這就解釋了爲什麼我似乎無法控制各種參數,但是我還是要做到這一點!我看了一下AGG後端的代碼(_backend_agg.cpp
:我真的不明白它),看起來line_cap和line_join由gc.cap
和gc.join
控制,其中gc來自GCAgg
類。有誰知道如何從Python控制這個?我在這裏問正確的問題嗎?也許這是更簡單的方法來控制這些參數?
任何幫助非常感謝...我非常渴望得到這個工作,所以即使是瘋狂的黑客也歡迎!
感謝,
卡森
尼斯。那看起來很華麗!謝謝@ewcz! – 2017-05-14 19:50:53
@ewcz此解決方案對基於agg的輸出非常有用,謝謝!我一直在尋找其他後端的源代碼,因爲我也想用PDF來獲得這個效果。我似乎無法讓'ps'或'pdf'後端接受你寫的補丁,但有趣的是'svg'後端可以處理它。關於如何調整這個補丁的pdf輸出的想法? – aorr 2017-07-09 16:42:22