Error using plot - not enough input arguments / invalid data argument
Show older comments
This is a simple plot I'm trying to get and I don't understand why I'm getting this error. I get the same error if I divide the plot line into two:
"plot (x1A, y1A)
hold on
plot (x1B, y1B)
hold off"

Answers (2)
VBBV
on 10 May 2023
the variables which are trying to plot are cell array of strings from a table. The plot function call takes NUMERIC (DOUBLE) arrays ONLY to graph the data. If the data in variables contain numbers stored as string data type, then you can use str2double or str2num function to convert them to numeric (double) arrays as shown below
% the below variables are cell array of strings from a table & need to be converted
% to numeric arrays
x1A = str2double(Case1ACalculatingFAAverages{:,1})
x1B = str2double(Case1BCalculatingFAAverages{:,1})
y1A = str2double(Case1ACalculatingFAAverages{:,2})
y1B = str2double(Case1BCalculatingFAAverages{:,2})
% plot them
plot(x1A, y1A, x1B, y1B)
1 Comment
Tin Truong Chanh
on 3 Nov 2024
Thank you so much, It sloved my problem.
The data you're trying to plot are all string arrays so plot is trying to interpret them as a series of name-value arguments. But you need to give plot some actual data to plot. The following would work:
plot(1:10, 1:10, "Color", "red", "LineStyle", "--")
This wouldn't. You haven't told plot what points to plot.
plot("Color", "red", "LineStyle", "--")
2 Comments
Bl
on 10 May 2023
Walter Roberson
on 10 May 2023
can you attach the excel file for testing?
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!