Shifting graph vertically upwards

20 次查看(过去 30 天)
Mich
Mich 2015-2-21
I have a simple qn:
I want to shift a graph vertically upwards.
vert_offset = kneeV(1) - kneeangle(1);
peak_x = peak_x + horz_offset;
peak_y = peak_y + vert_offset;
kneeangle = [zeros(horz_offset,1); kneeangle];
kneeangle = kneeangle + vert_offset;
what i did was this, but my graph did not move upwards and only move sidewards. The graph only moved upwards when I plotted kneeangle+vert_offset instead of kneeangle.
Just for additional information, the kneeangle is a column array that is the y-value of my graph.
  3 个评论
Image Analyst
Image Analyst 2015-2-21
What is kneeangle supposed to be higher than? It looks like you just pushed it to the right by prepending a bunch of zeros to the top of the array.
Mich
Mich 2015-2-21
编辑:Mich 2015-2-21
I'm comparing 2 sets of data, kneeV and kneeangle. Currently, the baseline value (initial value) for knee V is higher than kneeangle and greater in the x-direction too, so I would like to shift the graph for kneeangle to the right and of the same baseline as kneeV so that I can do a proper peak-to-peak comparison and obtain the error difference.
I've inserted an image of my graph obtained when I plot kneeangle+vert_offset
kneeangle- blue ,kneeV- black

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2015-2-21
Try this, aligning the means in the pulse train region:
% Crop the array
index = find(blueSignal > 1, 1, 'first');
% Get the mean
blueMean = mean(blueSignal(index:end));
% Now the same for the other black signal
% Crop the array
index = find(blackSignal > 1, 1, 'first');
% Get the mean
blackMean = mean(blackSignal (index:end));
% Subtract the blue mean and add the black mean to the blue signal
shiftedBueSignal = blueSignal - blueMean + blackMean;
plot(blackSignal);
hold on;
plot(shiftedBueSignal);

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by