簡體   English   中英

如何繪制和導出具有平滑邊緣的多色線

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM