2013-02-05 9 views
37

Tôi đang sử dụng python và matplotlib để tạo ra kết quả đồ họa.
Có cách nào đơn giản để tạo kiểu đường gạch ngang không?
Tôi biết các tùy chọn '--', '-.'':'. Thật không may, '-..' không dẫn đến một đường gạch ngang.
tôi đã xem xét lệnh set_dashes, nhưng điều đó dường như kiểm soát độ dài của dấu gạch ngang và khoảng cách giữa hai dấu gạch ngang liền kề.
Một tùy chọn có thể là vẽ hai đường thẳng lên nhau; một dấu gạch ngang với không gian rộng rãi giữa các dấu gạch ngang - và một chấm, với các dấu chấm lớn như dấu gạch ngang rộng và khoảng cách sao cho hai dấu chấm nằm giữa mỗi dấu gạch ngang. Tôi không nghi ngờ điều này có thể được thực hiện, tôi chỉ đơn giản là hy vọng một cách dễ dàng hơn.
Tôi có bỏ qua một tùy chọn không?python matplotlib dash-dot-dot - làm cách nào?

Trả lời

55

Bạn có thể xác định 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] nghĩa

  • 8 điểm trên, (gạch ngang)
  • 4 điểm off,
  • 2 điểm trên, (dấu chấm)
  • 4 điểm tắt,
  • 2 điểm trên, (dấu chấm)
  • 4 điểm tắt.

@Achim lưu ý bạn cũng có thể chỉ định dashes tham số:

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

sản xuất cùng một kết quả hiển thị ở trên.