[英]How to plot and export multi-colored line with smooth edges
我嘗試繪制具有多種顏色的單線,為此我遵循了本示例。
導出的pdf結果在行的開頭和結尾都有斷點,而我希望結果為平滑的行而不會斷點。 LineCollection以一種顏色繪制每條線,但是我也可以平滑地改變顏色。
我嘗試為每條線添加圓形末端 ,但它不會影響導出的pdf結果(而plt.show()的圖看起來更好,並且具有適當的圓形邊緣)。
參考代碼:
lc = mcoll.LineCollection(segments, array=z, cmap='copper', linewidth=3)
ax.add_collection(lc)
plt.savefig("{}_l.pdf".format(filenamebase))
當我使用svg格式,然后用inkscape轉換繪圖時,問題就消失了。 盡管原始問題仍然存在,並且pdf的savefig顯然存在問題,但是svg-> pdf技巧避免了該問題,並使線條圓滑。
下面的腳本實現了該技巧(並且還生成了pdf + tex文件,可方便地嵌入到文章中)。
def export_plot(filenamebase, export_area_drawing = True, export_latex = True):
plt.savefig("{}_l.pdf".format(filenamebase))
if export_latex:
ead = ''
if export_area_drawing:
ead = '--export-area-drawing'
el = '--export-latex'
plt.savefig("{}.svg".format(filenamebase))
cmd = ''' env -u LD_LIBRARY_PATH inkscape -T -f {0}.svg \
--export-background-opacity=0 \
{1} {2} --export-pdf={0}.pdf'''.format(filenamebase, ead, el)
os.system(cmd)
os.system('rm {}.svg'.format(filenamebase))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.