Effacer les filtres
Effacer les filtres

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

18 vues (au cours des 30 derniers jours)
NAKAI TAKUYA
NAKAI TAKUYA le 30 Oct 2018
Commenté : NAKAI TAKUYA le 5 Nov 2018
現在は各subplotに対し
xlabelname='namae'
subplot(1) xticklabels(xlabelname)
subplot(2) xticklabels(xlabelname) ...
と続けているのですが、figure内のサブプロットにすべて共通のxticks他を当てはめるので、もっと簡略化したいです。
setやXTicksなどを使ってできると思うのですが...?

Réponse acceptée

Kazuya
Kazuya le 30 Oct 2018
Modifié(e) : Kazuya le 30 Oct 2018
madhan ravi さんの回答にもありますが、ハンドルを使えばできそうです。
xlabelname = 'namae';
haxes1 = subplot(2,1,1);
haxes2 = subplot(2,1,2);
xticklabels([haxes1,haxes2],xlabelname)
___ = xticklabels(ax,___)
の構文です。それぞれの座標軸(サブプロット)を意味するハンドル haxes1, haxes2 を使うといろいろ便利ですのでぜひ。
  3 commentaires
Kazuya
Kazuya le 4 Nov 2018
("通用しな"かったサンプルコードがあると嬉しいんですけど)試してみましたが確かに同じ方法が xlabel 関数では実行できませんでした。xlabel もそれぞれの Axes にくっつくプロパティなんですが、xticklabel のようなシンプルな文字列ではなく、Text オブジェクトなのでややこしいみたいです。
subplot のハンドルを受け取ってラベルなどの各種設定を実行する関数を作れば、コードを見やすくするという目的だけは達成できそうですがいかがでしょう?
NAKAI TAKUYA
NAKAI TAKUYA le 5 Nov 2018
ありがとうございます。いろいろ試してみます

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 30 Oct 2018
Modifié(e) : madhan ravi le 30 Oct 2018
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 commentaire
madhan ravi
madhan ravi le 30 Oct 2018
The above shows an example to change xticklabels for different subplots using handles

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!