17

したいのですが、からへplot(x, sin(x))の線の代わりに、からへの各ポイントへの垂直線が必要です。これは、ポイント間の補間が意味をなさない場合があるためです(たとえば、量子化されたデータ)(その垂直線は、ない場合よりもはるかに見栄えがします)。(xi,yi)(x_i+1,y_i+1)(xi,0)(xi,yi)

以下のステム プロット (matlab ドキュメントから) によく似ていますが、円とポイント間の "-" をオフにできるオプションがあります。残念ながら、matplotlib のドキュメントで適切なプロット関数を見つけることができませんでした。

ステムプロット

4

2 に答える 2

19

matplotlib にもステム プロット(別名ロリポップ プロット) があります。


以下に、ドキュメントの例を示します。

import matplotlib.pyplot as plt
import numpy as np

# returns 10 evenly spaced samples from 0.1 to 2*PI
x = np.linspace(0.1, 2 * np.pi, 10)

markerline, stemlines, baseline = plt.stem(x, np.cos(x), '-.')

# setting property of baseline with color red and linewidth 2
plt.setp(baseline, color='r', linewidth=2)

plt.show()

ステムプロット


ベースラインの y 位置を調整する場合は、bottomパラメーターを使用できます。

(適応) 例:

import matplotlib.pyplot as plt
import numpy as np

# returns 10 evenly spaced samples from 0.1 to 2*PI
x = np.linspace(0.1, 2 * np.pi, 10)

plt.stem(x, np.cos(x), '-.', bottom=-2)

plt.show()

ステム プロット 2

于 2012-10-30T18:26:17.557 に答える
0

linestyle='steps--' を使いたいと思います

plot(x, sin(x), linestyle='steps--')
于 2012-10-30T18:21:16.197 に答える