appdesignerでaxisをleftとrightでそれぞれ設定し、yyaxisがrightの時、元々プロットしてあったlineを削除し、新しくplotするとき、Y軸メモリ間隔がリセットされません。Y軸メモリをリセットする方法を教えてください。
・mファイルで実行した場合
line2 = plot(x,y_right1);
ax.YTick = 0.9 * min( y_right1 ) : 500 : 1.1 * max( y_right1 );
line2 = plot(x,y_right2);
appdesignerでなく、普通のmファイルのテキストで上記のコードを実行すると、右Y軸のデータを削除(delete(line2) )し、再度、右Y軸にプロットすると、Y軸のメモリ間隔は最適に配置されます(deleteで消す前の図の時のY軸のメモリ間隔が残らずにリセットされる。)
しかし、appdesignerで以下のようにaxisとcheakboxを配置し、cheakboxが押された時にmakefig関数を実行するアプリを作ると、y軸メモリがdeleteで消したプロット図のメモリ間隔がずっと残り、deleteした後に再度プロットするとメモリ間隔が変になってしまいます。
cheakboxを押した時に実行されるmakefig関数は以下の通り。(内容はmファイルで実行した時の流れと同じ)
function [YRight] = makefig(AppAx , YRight)
L1 = plot(AppAx,x,y_left);
YRight = plot(AppAx,x,y_right1);
AppAx.YTick = 0.9 * min( y_right1 ) : 500 : 1.1 * max( y_right1 );
YRight = plot(AppAx,x,y_right2);
引数の一つ目にアプリの座標軸であるaxis、引数の二つ目に、第二軸のプロット線を渡しています。
また、makefig関数の返り値である「YRight」はappdesinger側でプロバティとして設定しています。
mファイルとappdesignerでコードの流れは一緒なのに、Y軸のメモリがmファイル側ではリセットされるのに、appdesingerではリセットされない原因と対処方法がわかるかたいましたら、教えていただけると幸いです。