MATLAB Answers

エラーバーを水平方向に書く

8 views (last 30 days)
nknknknk
nknknknk on 1 Dec 2017
Commented: nknknknk on 15 Dec 2017
エラーバーを水平方向に書くのに、MATLABのドキュメンテーションに
errorbar(_,ornt) は、誤差範囲の方向を設定します。ornt は、水平方向の誤差範囲の場合に 'horizontal' として指定..
とあり、
errorbar(Z(2:end),y(2:end),err(2:end)) 
でエラーバーが鉛直方向に表示される図が出る所を、
errorbar(Z(2:end),y(2:end),err(2:end),'horizontal')
と変更して実行すると、
エラー errorbar (line 45)
color/linetype 引数にエラーがあります。
エラーの発生場所 profile_solo_error (line 191)
errorbar(Z(2:end),y(2:end),err(2:end),'horizontal')
というエラーが出ます。 原因はどんなことが考えられるでしょうか。

  2 Comments

michio
michio on 1 Dec 2017
ドキュメンテーションのサンプルコードですが、下記はうまく実行できますか?
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [1 3 5 3 5 3 6 4 3 3];
errorbar(x,y,err,'horizontal')
どのバージョンをお使いでしょうか?
できれば上の様に閲覧者がそのまま実行できる(特定のデータに依存しない)形だと原因を調査し易いかと思います。
nknknknk
nknknknk on 2 Dec 2017
コメントありがとうございます。 上記サンプルコードは実行出来ませんでした。 使っているのは2012です。 2012の場合、どのように書くべきでしょうか。

Sign in to comment.

Accepted Answer

mizuki
mizuki on 3 Dec 2017
使用しているバージョンと同じドキュメントを参照しないと、バージョンアップで出た機能が含まれる場合があります。webに出ているドキュメントは、最新版の R2017b ですので、ご使用の MATLAB 上で
>> doc
コマンドで表示されるドキュメントをご確認ください。
horizontal オプションはR2012a/R2012bにはありませんので、'horizontal' を消して
>> errorbar(x,y,err)
とご実行ください。
エラーメッセージ内に
引数にエラーがあります
とありましたので、引数がおかしいと判断してこの原因を見つけています。
なお、R2012a/R2012b は5年以上前のリリースとのことで、5年前のハードウェアが out-of-date なように、MATLAB も当時と機能もかなり変わっています。ぜひバージョンアップをご検討ください。

  2 Comments

michio
michio on 4 Dec 2017
ちなみに 'horizontal' オプションが導入されたのは R2016b です。
R2016a 以前のバージョンで水平方向のエラーバーを表示する場合は、File Exchange のコードを使うのが良いかと思います。
MATLAB製品の機能ではありませんが、便利機能を持つユーザー作成の関数がよく見つかるのでオススメです。
評判が良さそうなのはこの辺ですね。
nknknknk
nknknknk on 15 Dec 2017
ご丁寧にありがとうございました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!