web-dev-qa-db-ja.com

python matplotlib dash-dot-dot-方法は?

pythonとmatplotlibを使用してグラフィカル出力を生成しています。
一点鎖線スタイルを生成する簡単な方法はありますか?
私は'--''-.'、および':'オプション。残念ながら、'-..'は、一点鎖線にはなりません。
私はset_dashesコマンドですが、それはダッシュの長さと2つの隣接するダッシュ間のスペースを制御しているようです。
1つのオプションは、2つの線を重ねてプロットすることです。 1つは破線の間に十分なスペースがある点線で、もう1つは点線で、ダッシュと同じ大きさの点があり、それぞれの点線の間に2つの点があるように間隔が空いています。私はこれができることを疑っていない、私は単に簡単な方法を望んでいます。
オプションを見落としましたか?

37
Schorsch

以下を定義できます カスタムダッシュ

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] 手段

  • 8ポイントオン(ダッシュ)
  • 4ポイントオフ、
  • 2ポイントオン、(ドット)
  • 4ポイントオフ、
  • 2ポイントオン、(ドット)
  • 4ポイントオフ。

@Achimは、dashesパラメーターも指定できることを指摘しました。

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

上記と同じ結果が生成されます。

57
unutbu