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

 Akzeptierte Antwort

John D'Errico
John D'Errico am 17 Jun. 2024
Bearbeitet: John D'Errico am 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 Kommentare

Ghazi
Ghazi am 18 Jun. 2024
You are close to the solution. Please help me. I have one variable, which is the total population, and it is estimated at P_0 = 36,408,820 million. Using an equation, I want to predict the population after 50 years.
That sounds like a different question compared to asking how to label plots?
Ghazi
Ghazi am 18 Jun. 2024
thank you bro
John D'Errico
John D'Errico am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 18 Jun. 2024
Verschoben: Walter Roberson am 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)))

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2024a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by