figure内のsu​bplotで共通のx​ticks,xtic​klabels,xl​imを使う方法

現在は各subplotに対し
xlabelname='namae'
subplot(1) xticklabels(xlabelname)
subplot(2) xticklabels(xlabelname) ...
と続けているのですが、figure内のサブプロットにすべて共通のxticks他を当てはめるので、もっと簡略化したいです。
setやXTicksなどを使ってできると思うのですが...?

 採用された回答

Kazuya
Kazuya 2018 年 10 月 30 日
編集済み: Kazuya 2018 年 10 月 30 日

2 投票

madhan ravi さんの回答にもありますが、ハンドルを使えばできそうです。
xlabelname = 'namae';
haxes1 = subplot(2,1,1);
haxes2 = subplot(2,1,2);
xticklabels([haxes1,haxes2],xlabelname)
___ = xticklabels(ax,___)
の構文です。それぞれの座標軸(サブプロット)を意味するハンドル haxes1, haxes2 を使うといろいろ便利ですのでぜひ。

3 件のコメント

NAKAI TAKUYA
NAKAI TAKUYA 2018 年 10 月 31 日
ありがとうございます!!
ちなみにsubplotの各xlabel,ylabelも共通なのですが、同じ方法が通用しないようです。AxisではなくFigureのものだからなのかもしれませんが・・・ こちらの方法も教えていただけますか?
Kazuya
Kazuya 2018 年 11 月 4 日
("通用しな"かったサンプルコードがあると嬉しいんですけど)試してみましたが確かに同じ方法が xlabel 関数では実行できませんでした。xlabel もそれぞれの Axes にくっつくプロパティなんですが、xticklabel のようなシンプルな文字列ではなく、Text オブジェクトなのでややこしいみたいです。
subplot のハンドルを受け取ってラベルなどの各種設定を実行する関数を作れば、コードを見やすくするという目的だけは達成できそうですがいかがでしょう?
NAKAI TAKUYA
NAKAI TAKUYA 2018 年 11 月 5 日
ありがとうございます。いろいろ試してみます

サインインしてコメントする。

その他の回答 (1 件)

madhan ravi
madhan ravi 2018 年 10 月 30 日
編集済み: madhan ravi 2018 年 10 月 30 日

0 投票

h = subplot(3,3,1);
h1 = subplot(3,3,1);
xlabel(h,'x');
ylabel(h,'y');
xlabel(h,'t');
ylabel(h,'y');
set(h,'XTickLabel',{'a','b','c'});
set(h1,'XTickLabel',{'g','h','j'});

1 件のコメント

madhan ravi
madhan ravi 2018 年 10 月 30 日
The above shows an example to change xticklabels for different subplots using handles

サインインしてコメントする。

質問済み:

2018 年 10 月 30 日

コメント済み:

2018 年 11 月 5 日

Community Treasure Hunt

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

Start Hunting!