• 締切済み

scilabで階段状のグラフを描きたい

scilabで離散的な階段状のグラフを描くには、どうすればいいのですか? 例えば、1ポイントずつ階段状に描写したいと思って作った以下のグラフは、点と点をまっすぐつないだだけのグラフになってしまいました。 X=0:1:4; Y=[2,1,6,4]; plot(X,[Y(1) Y])

みんなの回答

  • inumaru5
  • ベストアンサー率33% (1/3)
回答No.2

既に、質問者さんは、解決したかもしれませんが、他の方(離散値のプロットをmatlab風に行いたい人)が同じ問題で悩むかもしれないので、1つの解決方法を以下に示します。 h = gca(); //現在の座標(軸)を得る。 h.children.children.polyline_style = 2; //下位へのプロパティをたどり、polylineのスタイルを変更 で出来ると思います。 同じ座標に、2つ以上のプロットを行っている場合は、多分 h.children(1).children.polyline_style = 2; //現在の座標上の最後のプロット h.children(2).children.polyline_style = 2; //現在の座標上の1つ前のプロット だと思います。 ※この場合、恐らく h: 座標 children(x): 同じ座標上の複数のプロット children(x).children: polylineという項目 だと思いますが、詳細は、参照URLを読んでみてください。

参考URL:
http://www.scilab.org/product/man/axes_properties.html
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

つまり、 X=[0,1,1,2,2,3,3,4]; Y=[2,2,1,1,6,6,4,4]; plot(X,Y) てなればよい。 たとえば、 X=0:1:4; Y=[2,1,6,4]; X2 = [X X(1:$-2)]; X2(1:2:$) = X(1;$-1); X2(2:2:$) = X(2:$); Y2 = [Y Y]; Y2(1:2:$) = Y; Y2(2:2:$) = Y; plot(X2, Y2) とか。

関連するQ&A