ラジオボタンによるプロット線の仕様変更について

7 views (last 30 days)
RK
RK on 27 Jul 2021
Commented: RK on 28 Jul 2021
MATLAB appの作成を検討しています。
ラジオボタンでプロット線の仕様を適宜変更することは可能でしょうか。
plot(x,y,'d')
上記のような例の'd'の部分を、ラジオボタンの選択により切替えたいと考えています。
'd'の部分に変数?を置くことは可能でしょうか。
素人質問で恐縮ですが、何卒よろしくお願い申し上げます。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 27 Jul 2021
Edited: Atsushi Ueno on 28 Jul 2021
>ラジオボタンでプロット線の仕様を適宜変更することは可能でしょうか
>plot(x,y,'d'):'d'の部分に変数?を置くことは可能でしょうか
どちらも可能です。サンプルアプリを作って添付しました。部分的なコードを抜粋します。(追記)線の色を選択するコードを追加/変更しました。線種と線の色を別々の文字列に設定し、plot関数に渡す時に一つの文字列に結合しています。
properties (Access = private)
myPlotStyle = '-'; % ラインスタイル(実線/破線)
myPlotColor = 'r'; % ラインスタイル(色)
function startupFcn(app) % オブジェクト作成時にプロットを実行
plot(app.UIAxes,1:0.01:2*pi,sin(1:0.01:2*pi),[app.myPlotColor app.myPlotStyle]);
end
function linetypeSelectionChanged(app, event) % ラジオボタンのコールバック関数
selectedButton = app.linetype.SelectedObject;
switch selectedButton.Text % 選択されたラジオボタンのテキスト
case 'Solid'
app.myPlotSpec = '-'; % 'Solid'ならラインスタイルを実線に
case 'Dashed'
app.myPlotSpec = '--'; % 'Dashed'ならラインスタイルを破線に
case 'Dotted'
app.myPlotSpec = ':'; % 'Dotted'ならラインスタイルを点線に
end
startupFcn(app);
end
function LineColorButtonGroupSelectionChanged(app, event)
selectedButton = app.LineColorButtonGroup.SelectedObject;
switch selectedButton.Text
case 'Red'
app.myPlotColor = 'r'; % プロットのライン色を赤に
case 'Blue'
app.myPlotColor = 'b'; % プロットのライン色を青に
case 'Green'
app.myPlotColor = 'g'; % プロットのライン色を緑に
end
startupFcn(app);
end
end
  3 Comments
Atsushi Ueno
Atsushi Ueno on 28 Jul 2021
>myPlotSpecをラインスタイルに割り当てた場合、色の選択等は難しいのでしょうか
難しくはありません(私見ですが)。実際にやってみた結果で回答を更新しました。
RK
RK on 28 Jul 2021
ご回答ありがとうございます。
度々ありがとうございました。

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!