2016-06-23 10 views
1

私は、matplotlibのloglogスケールで複数の曲線をプロットしています。区別できるように、マーカーを使用しています。データポイントが多いので、私はmarkevery = 100を使用します。しかし、対数スケールの水平軸では、これらはクラスタリングされます。マーカを対数的に取り出す方法はありますか?loglogのマーカーmatplotlib figure

答えて

1

markeveryの整数を指定するのではなく、Nのデータポイントごとにマーカーを配置するのではなく、線形またはログスケールが使用されているかどうかにかかわらず、ポイントが線に沿って等間隔になるようにするfloatを使用します。

every = 0.1(つまり浮動小数点数)の場合、マーカーは線に沿ってほぼ等間隔に配置されます。マーカ間の線に沿った距離は、軸バウンディングボックス対角線の表示座標距離にeveryの値を乗算することによって決定される。

t = np.arange(0.01, 30, 0.01) 
plt.loglog(t, 20 * np.exp(-t/10.0), '-o', markevery=0.1) 

enter image description here

関連する問題