グラフの背景に画像を表示させたい

28 ビュー (過去 30 日間)
koji fukumoto
koji fukumoto 2019 年 12 月 3 日
回答済み: yuji Ito 2020 年 6 月 30 日
お世話になります。
グラフ(axes)の背景にpng画像を、グラフの軸とは無関係に表示させたいです。
グラフに画像を表示する方法としては、imreadで読込んだイメージデータをimshowやimageを用いて表示する方法がありますが、これらはグラフの軸と画像のサイズ(縦横ピクセル数)が関係性を持ってしまい、例えば「X軸とY軸の最大値が100のグラフに、300x300ピクセルの画像を縮小せずに表示する」という事ができない認識です(X軸・Y軸が300まで拡張されてしまう)。
最終的にやりたいことは、背景画像が表示されているグラフ上をクリックし、クリックした点を直線で結ぶという処理です。
背景画像が無い状態で「クリックした点を直線で結ぶ」という実装はできておりますので、後はグラフに背景画像を表示させるだけです。
よろしくお願い致します。

採用された回答

Shunichi Kusano
Shunichi Kusano 2019 年 12 月 3 日
画像をリサイズしてから表示するというのはどうでしょうか。
  2 件のコメント
Akira Agata
Akira Agata 2019 年 12 月 3 日
編集済み: Akira Agata 2019 年 12 月 3 日
あるいは axes を2つ重ねて、画像とプロットをそれぞれ表示させたうえで、プロット側の axes の背景を透明にする、というのはどうでしょうか。以下は簡単なサンプルです。
% Sample image
I = imread('peppers.png');
figure
ax1 = axes;
ax2 = axes;
imshow(I,'Parent',ax1) % Show the image on ax1
plot(ax2,magic(4)) % Plot the data on ax2
ax2.Color = 'none'; % Set background color of ax2 to transparent
koji fukumoto
koji fukumoto 2019 年 12 月 3 日
「axes を2つ重ねて」の方法で実現できました。
迅速なご回答、ありがとうございました。

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

その他の回答 (1 件)

yuji Ito
yuji Ito 2020 年 6 月 30 日
AppDesignerのplotウインドウで上記の様なことをしたいのですが、
ax1,ax2と2つの軸を作ることが出来ず、上記ではうまくいきません。
AppDesingerで同様のことを実現する方法はないでしょうか?

カテゴリ

Help Center および File Exchangeグラフィックス出力のターゲットの指定 についてさらに検索

タグ

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!