画像とグラフの重ね合わせ

43 views (last 30 days)
iwashita
iwashita on 25 Jul 2022
Answered: Hernia Baby on 26 Jul 2022
添付画像に,graph.mで作成したグラフを重ねたいのですが,うまくいきません.
重ねる方法を教えていただけませんでしょうか.
figure
graph = imread('minusK_TF_horizon2.png');%画像%
imshow(graph);
hold on;
semilogx(freq,9*log(c0),'LineWidth',2);%重ねたいグラフ%
xlim([10^(-1) 10^2]),%x軸の範囲
yticks([-70 -60 -50 -40 -30 -20 -10 0 10 20 30])%y軸の範囲
xlabel('Freqency [Hz]');
ylabel('Gain [dB]');
h_axes = gca;
h_axes.FontSize = 10;
grid off;

Answers (2)

交感神経優位なあかべぇ
graph1.mを修正して、グラフが重なるようにしました。
imshowではなく、imageを使用し、axes内の画像を配置する場所を指定しました。
clear all;
freq = logspace(-1,2,100001);
s = 1i.*2.*pi.*freq;
%minus K model%
m = 48;
Q = 1.5;
wc = 2.*pi.*10;
w0 = 2.*pi.*0.5;
bunshi_Mdd = ((-1./((wc).^2)).*s.^2+((1i./Q)+1));
bunbo_Mdd = ((1./((w0).^2)).*s.^2+((1i./Q)+1));
Mdd = ((bunshi_Mdd)./(bunbo_Mdd));
a0 = angle(Mdd)*(180/pi);
b0 = unwrap(a0);%-360%
c0 = abs(Mdd);
%重ね書き%
figure
graph = imread('minusK_TF_horizon2.png');%画像%
% imshow(graph);
hold on;
semilogx(freq,9*log(c0),'LineWidth',2);%重ねたいグラフ%
xlim([10^(-1) 10^2]),%x軸の範囲
yticks([-70 -60 -50 -40 -30 -20 -10 0 10 20 30])%y軸の範囲
xlabel('Freqency [Hz]');
ylabel('Gain [dB]');
h_axes = gca;
h_axes.FontSize = 10;
grid off;
%追記-------------------
image(graph, 'XData', [10, 10^2], 'YData', [10,-40]);%YDataは、上下反転を防止するため、[大、小]の順番で記述

Hernia Baby
Hernia Baby on 26 Jul 2022
image関数を使用することで解決可能です
img = imread('ngc6543a.jpg');
theta = linspace(0,4*pi,200);
image('CData',img,'XData',[4 8],'YData',[-1/4 1/4])
hold on
plot(theta,sin(theta)./theta,'LineWidth',3)
hold off

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!