How to plot 2 columns (one is population the other is years) in a linear graph
139 views (last 30 days)
Show older comments
I have an excel file with 2 columns. I want to plot the data in a simple linear graph. The problem lies with the years. I keep getting the error message:"Error using plot. When table is the second input, the first input must be a valid parent."
My code is as follows:
Population = readtable('Population.xls');
% figure_1
figure
plot(years,Population,'kx-')
xlabel ('Year','FontSize',16,'FontWeight','bold','Color','b')
ylabel ('Population (Billions)','FontSize',16,'FontWeight','bold','Color','b')
title ('Linear Growth','FontSize',20,'Color')
4 Comments
Dyuman Joshi
on 4 Feb 2023
It is tought to tell from such limited code. Can you post or upload your code?
And please copy-paste the full error message.
Voss
on 4 Feb 2023
That's because you say 'Color' but you don't supply a color
title ('Linear Growth','FontSize',20,'Color')
% ^ missing color
e.g.,
title ('Linear Growth','FontSize',20,'Color','g')
Answers (1)
Star Strider
on 4 Feb 2023
This is difficult without the Excel file.
Taking a wild guess:
plot(Population.years, Population.Population)
alternatively:
plot(Population{:,1}, Population{:,2})
The second is more likely to be successful.
Note the curly brackets {} to do the table addressing.
.
5 Comments
Star Strider
on 4 Feb 2023
Sure!
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1284645/Population.xls');
Lv = T1{:,1} <= 2015; % Years Up To & Including 2015
figure
plot(T1{Lv,1}, T1{Lv,2}, 'kx-')
grid
xlabel ('Year','FontSize',16,'FontWeight','bold','Color','b')
ylabel ('Population (Billions)','FontSize',16,'FontWeight','bold','Color','b')
title ('Linear Growth','FontSize',20,'Color','g')
.
See Also
Categories
Find more on Line Plots 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!