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

12 ビュー (過去 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 ExchangeConvert Image Type についてさらに検索

タグ

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!