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.

 採用された回答

Ameer Hamza
Ameer Hamza 2020 年 5 月 4 日
編集済み: Ameer Hamza 2020 年 5 月 4 日

0 投票

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 件のコメント

Muhammad Rizwan
Muhammad Rizwan 2020 年 5 月 4 日
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 2020 年 5 月 4 日
Can you mark the peaks on an image which you want to remove?
Muhammad Rizwan
Muhammad Rizwan 2020 年 5 月 4 日
yes at 400 and 800 .
Ameer Hamza
Ameer Hamza 2020 年 5 月 4 日
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 2020 年 5 月 5 日
Thanks Ameer Hamza
Ameer Hamza
Ameer Hamza 2020 年 5 月 5 日
I am glad to be of help.
Muhammad Rizwan
Muhammad Rizwan 2020 年 5 月 13 日
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 2020 年 5 月 13 日
Can you explain more? Do you want the value of start of the signal to be 0?
Muhammad Rizwan
Muhammad Rizwan 2020 年 5 月 13 日
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 2020 年 5 月 13 日
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.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で 2-D and 3-D Plots についてさらに検索

製品

リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by