関数「image」で​x軸ラベル、y軸ラベ​ルを付け加えるときに​、0:1:3を使用し​て上限と下限が3と0​になるようにすること​はできますか?

zz=[0 2 4 6; 8 10 12 14; 16 18 20 22];
image(0:1:3,0:1:2,zz)
行うとx軸は-0.5~3.5に、y軸は-0.5~2.5になってしまいます。
image(0.5:1:3.5,0.5:1:2.5,zz)
を行えばできるんのですが、わかりにくいです。imageで軸の指定は可能でしょうか?

Answers (2)

こういうことでしょうか?
zz=[0 2 4 6; 8 10 12 14; 16 18 20 22];
image(0:1:3,0:1:2,zz)
xticks([0 1 2 3])
yticks([0 1 2])

6 Comments

馨
on 17 Nov 2022
ご回答ありがとうございます。私の説明が不十分でした。
imageを用いて、通常のグラフのようにXlim=[0,4],Ylim=[0,3]とした図を表示したいのです。
imageを用いなくてもかまいませんが、2次元のヒストグラムのイメージ図を作りたいと考えています。
コメントありがとうございます
image はそれぞれのマス目の中心に数字が割り当てられます
ですのでこの場合はsurfが適任かなと思います
zz=[0 2 4 6; 8 10 12 14; 16 18 20 22];
surf の場合
figure
hold on
x = 0:3;
y = 0:2;
surf(x,y,zz)
axis([0 3 0 2])
xticks(x)
yticks(y)
% 参考にポイントおきます
[X,Y] = meshgrid(x,y);
scatter3(X(:),Y(:),zz(:),30,'r','filled')
view(2)
馨
on 17 Nov 2022
ご回答ありがとうございます。
imageではなくsurfを使えば良いのですね。
ありがとうございました。
>2次元のヒストグラムのイメージ図を作りたいと考えています。
ところで「2次元のヒストグラムのイメージ図」を作らずとも、histogram2関数で2次元のヒストグラムそのものを(2次元でも3次元でも)簡単に作れますよ。
x = randn(10000,1); % 2変量のサンプルデータは正規分布の乱数
y = randn(10000,1);
h = histogram2(x,y,0:4,0:3,'DisplayStyle','tile'); % 2次元の2変量ヒストグラム
histogram2(x,y); % 3次元の2変量ヒストグラム。こっちがデフォルトです
馨
on 18 Nov 2022
Moved: Atsushi Ueno on 18 Nov 2022
ありがとうございます。histogram2関数がデフォールトなのですね。
大変助かりました。
Atsushi Ueno
Atsushi Ueno on 18 Nov 2022
ちょっと誤解があるかもしれません。
histogram2関数は2変量ヒストグラムの2次元表示と3次元表示のどちらにも対応していて、3次元表示がデフォルト(オプションを指定しない場合の動作)であると言ってます。

Sign in to comment.

馨
on 21 Nov 2022

0 votes

貴重なアドバイスありがとうございました。
勉強になりました。

Products

Release

R2022b

Asked:

馨
on 17 Nov 2022

Answered:

馨
on 21 Nov 2022

Community Treasure Hunt

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

Start Hunting!