Attached are the plots of a i get from a csv file imported to MATLAB. I want to declutter the plot (remove the noise captured by measuring instrument) zoom on in the data.

 Accepted Answer

open('untitled2.fig')
xlim([-0.5 2.5]) % changed domain min and max to zoom in.
h=gca; % obtained handle of the current axes
x = h.Children.XData; % extracted xdata from figure
y = h.Children.YData; % extracted ydata from figure
y=lowpass(y,10,1000); % Low pass filter with cut off at 10Hz, assuming sample rate of 1000 Hz
plot(x,y)
xlim([-0.5 2.5]) % changed domain min and max to zoom in.
open('untitled.fig')
h=gca; % obtained handle of the current axes
x = h.Children.XData; % extracted xdata from figure
y = h.Children.YData; % extracted ydata from figure
y=lowpass(y,10,1000); % Low pass filter with cut off at 10Hz, assuming sample rate of 1000 Hz
figure
plot(x,y)
xlim([-20 20])

6 Comments

Now, if you want to just update the figures:
open('untitled2.fig')
xlim([-0.5 2.5]) % changed domain min and max to zoom in.
h=gca; % obtained handle of the current axes
y = h.Children.YData; % extracted ydata from figure
y=lowpass(y,10,1000); % Low pass filter with cut off at 10Hz, assuming sample rate of 1000 Hz
h.Children.YData = y;
open('untitled.fig')
h=gca; % obtained handle of the current axes
y = h.Children.YData; % extracted ydata from figure
y=lowpass(y,10,1000); % Low pass filter with cut off at 10Hz, assuming sample rate of 1000 Hz
h.Children.YData = y;
xlim([-20 20])
Can you please also tell how do i identify what part of data from the csv contribute to this plot?
Since there are 100000 reading taken in the csv file, i need to know what data points are contributing to the plot. so that i can extract that in to other excel file and do further calculation.
I read the data from the figure that you provided.
open('untitled2.fig')
xlim([-0.5 2.5]) % changed domain min and max to zoom in.
h=gca; % obtained handle of the current axes
y = h.Children.YData; % extracted ydata from figure
y=lowpass(y,10,1000); % Low pass filter with cut off at 10Hz, assuming sample rate of 1000 Hz
h.Children.YData = y;
You can find out the datapoints at the x limits I chose with the following:
x = h.Children.XData; % extracted ydata from figure
startpoint = find(x==-0.5)
startpoint = 49380
endpoint = find(x==2.5)
endpoint = 52380
From the data in our plot, I created the following plot from 49380 to 52380
plot(x(startpoint:endpoint),y(startpoint:endpoint))
@Kevin Holly okay got it, thanks..then i can use xlxwrite to save the start and end data point range in excel, right?
Yes, you could use xlswrite to save the data within that range.
new_x = x(49380:52380);
new_y = y(49380:52380);
You can save the variables new_x and new_y into the Excel sheet.

Sign in to comment.

More Answers (0)

Categories

Products

Tags

Community Treasure Hunt

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

Start Hunting!