アプリ版:「スタンプのみでお礼する」機能のリリースについて

scilabで離散的な階段状のグラフを描くには、どうすればいいのですか?
例えば、1ポイントずつ階段状に描写したいと思って作った以下のグラフは、点と点をまっすぐつないだだけのグラフになってしまいました。

X=0:1:4;
Y=[2,1,6,4];
plot(X,[Y(1) Y])

A 回答 (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_propertie …
    • good
    • 0

つまり、


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)
とか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!