Plot two spectrum plot in one spectrum plot?

Hi ,
I have a question regarding plotting of two spectrum plots into one spectrum but resultant plot must be appended after the first plot.
I have saved spectrum as a figure.
I have read many threads all of them are supporimposing or making sub plots.
My query is that how to join one figure plot line with second figure plot line.
I have attached as a reference two figures.
Both figures have same x axis label(0-400) but I want resultant plot must have consistant values like 0 - 800.

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 4 de Mayo de 2020
Editada: Ameer Hamza el 4 de Mayo de 2020
Try this, using the two fig files you shared.
fig1 = openfig('Ichannel0_400_1.fig');
fig2 = openfig('Ichannel_400_1_800.fig');
ax1 = findobj(fig1, 'type', 'axes');
ax2 = findobj(fig2, 'type', 'axes');
l1 = findobj(fig1, 'type', 'line');
l2 = findobj(fig2, 'type', 'line');
l1.XData = [l1.XData l2.XData+l1.XData(end)];
l1.YData = [l1.YData l2.YData];
ax1.XLim = [min(l1.XData) max(l1.XData)];
figure(fig1);

10 comentarios

thanks for prompt response;
Dear is it possible to also change some y values of the plot.Means I want to get rid of ambiguos peaks
Ameer Hamza
Ameer Hamza el 4 de Mayo de 2020
Can you mark the peaks on an image which you want to remove?
Muhammad Rizwan
Muhammad Rizwan el 4 de Mayo de 2020
yes at 400 and 800 .
Something like this?
fig1 = openfig('Ichannel0_400_1.fig');
fig2 = openfig('Ichannel_400_1_800.fig');
ax1 = findobj(fig1, 'type', 'axes');
ax2 = findobj(fig2, 'type', 'axes');
l1 = findobj(fig1, 'type', 'line');
l2 = findobj(fig2, 'type', 'line');
l1.XData = [l1.XData l2.XData+l1.XData(end)];
l1.YData = smoothdata([l1.YData l2.YData]);
ax1.XLim = [min(l1.XData) max(l1.XData)];
figure(fig1);
Muhammad Rizwan
Muhammad Rizwan el 5 de Mayo de 2020
Thanks Ameer Hamza
Ameer Hamza
Ameer Hamza el 5 de Mayo de 2020
I am glad to be of help.
Muhammad Rizwan
Muhammad Rizwan el 13 de Mayo de 2020
Hi Ameer,
I want to ask that is there a way to normalize the plot too?
Means values start from zero rather than sum value.
Ameer Hamza
Ameer Hamza el 13 de Mayo de 2020
Can you explain more? Do you want the value of start of the signal to be 0?
Muhammad Rizwan
Muhammad Rizwan el 13 de Mayo de 2020
Yes Ameer Y axis value must be zero for 0 Hz. Means all value must be divided by max gain(i.e. st 0 hz).
Ameer Hamza
Ameer Hamza el 13 de Mayo de 2020
If you divide by max value than the gain will be 1 at 0Hz. I think you can just subtract the value of the signal at 0Hz.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.

Productos

Versión

R2019b

Etiquetas

Preguntada:

el 4 de Mayo de 2020

Comentada:

el 13 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by