Plotting fixed X data against multiple Y data in matlab

Hello I need help with this.I am new to matlab.
I have an excel file with X DATA in first column and 44 Y DATA in adjecent columns and the average of all the ys in a last column.
I want to make a scatter plot for the fixed X data against all the 44 y data and also make a line graph of the X against the average of the Y all on a single graph.

 采纳的回答

Thank you for the clarification. There may be too many plots for the data to look nice, but the way I would do what you have described is as follows:
[file,path] = uigetfile('*.*'); %select the file
cd(path) %change directories
fileData = readmatrix(file); %read the file
xdata = fileData(:,1); %value for data in the first column. I assumed there were 44 data points for X
hold on %hold onto the plot so it doesn't overwrite it
for col = 2:size(fileData,2) - 1 %loop through all columns of data minus the y average
ydata = fileData(:,col); %value for data in the looped column.
plot(xdata,ydata,'o') %plot the first and looped column
end
y_avg = fileData(:,end); %last column of data
plot(xdata,y_avg,'-') %plot the x vs. the average y data
hold off %turn the hold off

3 个评论

This code makes sense to me but it shows an error on line 8 without describing what the error is.
This is the error: Error in untitled3 (line 8)
plot(xdata,ydata(col),'o') %plot the first and looped column
I've updated it to fit your requirements. Try it now.
This one worked perfectly. Thank you very much.

请先登录,再进行评论。

更多回答(1 个)

[file,path] = uigetfile('*.*'); %select the file
cd(path) %change directories
fileData = readmatrix(file); %read the file
xdata = fileData(:,1); %value for data in the first column. I assumed there were 44 data points for X
ydata = fileData(:,2); %value for data in the second column.
avgy = mean(ydata); %average of all the y data points
plot(xdata,ydata,'o') %plot the first and second column
hold on %hold onto the plot so it doesn't overwrite it
plot(xdata,ones(length(xdata),1)*avgy,'-') %plot the x vs. the average y data
hold off %turn the hold off

1 个评论

Thank you. This made the plot but not all the plots. Maybe my question wasn't clear.
I have say 250 data points in first column (x) and 250 data points in adjacent 44 columns(y) and 250 data points in the 46th column (y_average). I want to do a scatter plot for the X and the ys, and a line plot for the x and y_average.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 App Building 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by