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

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

Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 3 Dez. 2019
画像をリサイズしてから表示するというのはどうでしょうか。
  2 Kommentare
Akira Agata
Akira Agata am 3 Dez. 2019
Bearbeitet: Akira Agata am 3 Dez. 2019
あるいは 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 am 3 Dez. 2019
「axes を2つ重ねて」の方法で実現できました。
迅速なご回答、ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu グラフィックス出力のターゲットの指定 finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!