How to plot 2 columns (one is population the other is years) in a linear graph
조회 수: 19 (최근 30일)
이전 댓글 표시
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
Dyuman Joshi
2023년 2월 4일
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
2023년 2월 4일
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')
답변 (1개)
Star Strider
2023년 2월 4일
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
Voss
2023년 2월 4일
Star Strider
2023년 2월 4일
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')
.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!