I want show population on plot like 36M, 37M....

1 view (last 30 days)
please help me, I=I need the grow population like 36m, 37, 38,.. on plot

Accepted Answer

John D'Errico
John D'Errico on 17 Jun 2024
Edited: John D'Errico on 17 Jun 2024
You want the plot to plot each point as a string like 36M, 38M, etc?
Why not just divide by 1e6, then use the axis label to indicate millions?
P = [3.6e7, 3.8e7, 4.1e7, 4.5e7, 5.0e7]; % just making up some numbers
t = 1970:10:2010;
plot(t,P/1e6,'-o')
xlabel Years
ylabel 'Population in Millions'
Could you plot the points as text strings? Well, yes. Easily enough, using the function text. But seriously, why?
  4 Comments
John D'Errico
John D'Errico on 18 Jun 2024
You are now asking a completely different question. But that is also clearly a homework assignment, and I last had any desire to do homework at least 35 years ago. Probably longer than that, but I'm not going to count.
So look at your class notes. Read your text. Think about how you would formulate an exponential growth model.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 18 Jun 2024
Moved: Walter Roberson on 18 Jun 2024
Alternate solution:
P = [3.6e7, 3.8e7, 4.1e7, 4.5e7, 5.0e7]; % just making up some numbers
t = 1970:10:2010;
ax = gca;
plot(ax, t,P,'-o')
xlabel(ax, 'Years')
ylabel(ax, 'Population in Millions')
yticklabels(ax, compose("%gM", floor(ax.YTick/1e6)))

Tags

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!