2012-10-30 5 views
14

私はplot(x, sin(x))にしたいが、代わりに(xi,yi)から(x_i+1,y_i+1)にラインの私は時々ポイント間の補間は何の意味(例えば量子化されたデータ)を行うものではありません(xi,0)から(xi,yi)の各点に垂直線をしたい(そしてそれは垂直にずっと良く見えます行を除いて)。matplotlibの幹プロット?

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

stem plot

答えて

16

= 'steps--' 線種を使用したいと思います。あなた以下


the docsから(1ではないimport *実際のコードでpylabからでしょうもちろん!)の例を見つけることができます。

#!/usr/bin/env python 
from pylab import * 

x = linspace(0.1, 2*pi, 10) 
markerline, stemlines, baseline = stem(x, cos(x), '-.') 
setp(markerline, 'markerfacecolor', 'b') 
setp(baseline, 'color','r', 'linewidth', 2) 

show() 

stem plot


あなたは、ベースラインのy位置を調整したい場合は、bottomパラメータを使用することができます。 (文書情報のこのビットを外す)

(適合)例:

#!/usr/bin/env python 
from pylab import * 

x = linspace(0.1, 2*pi, 10) 
stem(x, cos(x), '-.', bottom=-2) 

show() 

stem plot 2

+0

今私は青い円を削除する方法を把握する必要があります。 – arynaq

+1

@ user948652あなたは 'markerfmt'パラメータを適切に設定する必要があります。 'markerfmt = '。''。コールパラメータのドキュメントを見てください。うまく説明されています。 – moooeeeep

+0

しかし、負の無限大で茎を始める方法はありますか?私はこのようなものが欲しい:https://namoseley.files.wordpress.com/2012/09/sin_poly_spectrum_small.png – endolith

0

私はあなたが同様にmatplotlibのにstem plot(別称、ロリポッププロット)があり

plot(x, sin(x), linestyle='steps--') 
+0

これは水平ステッププロットでは、.GIFリンク – arynaq

+0

と同様に縦線をしません私の悪い、私は@moooeeeepはそれを持っていると思います – reptilicus

関連する問題