2013-02-05 62 views
37

我正在使用python和matplotlib來生成圖形輸出。
有沒有一種簡單的方法來生成點劃線樣式?
我知道'--''-.'':'選項。不幸的是,'-..'不會導致點劃線。
我看過set_dashes命令,但似乎控制着破折號的長度和兩個相鄰破折號之間的空格。
一個選項可能是將兩條線彼此重疊;一個虛線與虛線之間有足夠的空間 - 一個虛線,點與虛線一樣寬,且間隔很寬,因此每個虛線之間有兩個點。我不懷疑這可以做到,我只是希望有一個更簡單的方法。
我忽略了一個選項嗎?python matplotlib dash-dot-dot - 如何?

回答

55

可以定義custom dashes

import matplotlib.pyplot as plt 

line, = plt.plot([1,5,2,4], '-') 
line.set_dashes([8, 4, 2, 4, 2, 4]) 
plt.show() 

enter image description here

[8, 4, 2, 4, 2, 4]裝置上,(短劃線)

  • 4分斷

    • 8分,
    • 2點上, (點)
    • 4分,
    • 2分,(點)
    • 4分。

    @Achim注意你也可以指定參數dashes

    plt.plot([1,5,2,4], '-', dashes=[8, 4, 2, 4, 2, 4]) 
    plt.show() 
    

    產生如上所示的相同的結果。