电子产业一站式赋能平台

PCB联盟网

搜索
查看: 305|回复: 0
收起左侧

MATLAB|人口金字塔图

[复制链接]

260

主题

260

帖子

1835

积分

三级会员

Rank: 3Rank: 3

积分
1835
发表于 2023-12-4 03:28:00 | 显示全部楼层 |阅读模式
点击上方蓝字和“好玩的MATLAB”一起快乐玩耍吧!( S% e4 j+ n) V7 z5 ^

bk02qk0jqtb64015155821.jpg

bk02qk0jqtb64015155821.jpg
+ M6 t. @+ V, Z! M' @
好玩的matlab
- [% b7 i! ]+ U带你解锁不一样的matlab新玩法
1 Q3 K; [: H$ w* g8 N2 m/ X3 {+ o  Y: m2 y
今天介绍一下人口金字塔图,喜欢此推文的小伙伴们记得点赞+关注+分享!【尊重作者劳动成果,转载请注明推文链接和公众号名】
* A+ h5 c( |" j% p效果图
+ j7 ~/ ]/ [  l* D  B

lm2dgrzj50u64015155921.jpg

lm2dgrzj50u64015155921.jpg
- S+ [8 d) q$ P( ?: C

" y& A4 x7 V3 G* U8 f5 q0 [# n

02vwuhto5fw64015156021.gif

02vwuhto5fw64015156021.gif

3 L9 A. r: a! A' W6 I
, x. Y; D. s; f% h- i" ^人口金字塔图介绍人口金字塔图是一种用于展示人口分布和年龄结构的图形工具。它的形状类似于金字塔,因此得名。人口金字塔图通常以男性和女性在不同年龄组的分布为基础,通过不同的条形图或直方图展示出人口的年龄和性别数量或者占比分布情况。概念:形状:人口金字塔图的形状反映了不同年龄组人口的相对数量或者占比情况。通常,底部宽度代表年轻人口数量或者占比,而逐渐变窄的上半部分代表年长人口数量或者占比。分布:左侧表示男性,右侧表示女性。各个年龄层次上的横条的长度表示该年龄组的人口数量或者占比。作用和用途:人口结构分析:人口金字塔图是分析人口年龄和性别结构的重要工具。它可以显示一个国家或地区不同年龄组的相对人口数量或者占比,有助于了解人口的组成和分布情况。社会规划:政府和社会规划者可以使用人口金字塔来制定相关政策。例如,一个底部宽广的金字塔可能表示出生率高,政府可能需要关注教育、医疗等方面的资源分配。经济发展:人口金字塔还可用于预测未来的劳动力和老龄人口比例。这对于制定长期经济发展战略和社会保障政策至关重要。健康规划:了解人口的年龄结构可以帮助卫生部门预测未来对医疗服务的需求,尤其是对于老年人口的医疗需求。教育规划:人口金字塔有助于规划未来的教育需求。例如,底部宽广的金字塔可能需要更多的学校和教育资源。总体而言,人口金字塔图是一个强大的工具,可以帮助决策者和研究人员更好地理解人口的动态变化,从而制定更有效的政策和规划。& q" r$ c2 O! ?/ \3 c5 x
绘图函数收藏、点赞=学会
  • clc;clear;close all;T=readtable('People.xls','VariableNamingRule', 'preserve');data=table2array(T(:,2:3));value=data./sum(data);male=-value(:,1);female=value(:,2);colors=jet(size(data,1));x=1:size(data,1);figure('Position',[476 144 655 722],'Color','w')hold onfor i = 1:size(data,1)    hBar1=barh(x(i),male(i),'EdgeColor','k','FaceColor',colors(i,:));    hBar2=barh(x(i),female(i),'EdgeColor','k','FaceColor',colors(i,:));endxline(0,'color',[1,1,1],'Alpha',1,'LineWidth',1.2)loc=max(value);text(-loc(1)/2,size(data,1),'male','FontSize',16,'FontName','times new Roman')text(loc(2)/2,size(data,1),'female','FontSize',16,'FontName','times new Roman')1 @' [2 H$ f0 o& V/ K. Q
    colormap(colors)cBar=colorbar;caxis([0,100]);cBar.FontName='Times New Roman';cBar.FontSize=16;cBar.Box='off';cBar.TickDirection = 'both';cBar.LineWidth=1;cBar.Limits = [0, 100];cBar.Ticks =0:10:100;currentPosition = cBar.Position; newWidth = 0.03; % 新的宽度值cBar.Position = [currentPosition(1)+0.05 currentPosition(2) newWidth currentPosition(4)];cBar.TickLabels = arrayfun(@(x) num2str(x, '%.0f'),[0:10:100], 'UniformOutput', false);title(cBar,'Age','Fontsize',16,'fontname','Times New Roman')disp(char([20844 20247 21495 58 22909 29609 30340 77 97 116 108 97 98]))ax = gca;ax.XTickLabel = arrayfun(@(x) num2str(abs(x)*100, '%.2f'), ax.XTick, 'UniformOutput', false);ax.YTick = [1:size(data, 1)];ax.LineWidth=1.2;ax.Title.String='2022 Population Structure Chart';ax.XLabel.String='Proportion(%)';ax.XAxis.TickDirection='out';ax.FontName='Times New Roman';ax.FontSize=16;yt = yticks;ax.YAxis.Visible = 0;text(ones(size(yt))*min(xlim)-0.01*diff(double(xlim)), yt, T{:,1}, 'Horiz','right', 'Vert','middle','fontsize',14,'FontName','Times New Roman')/ b- \! q  y. |- i. Q

    oje2e4gkbm564015156121.png

    oje2e4gkbm564015156121.png
    ' G( ~7 J4 S1 z+ V, _
    ' q. K0 J" \& v5 F/ _" {7 s6 C6 j7 Z

    4btk5bqpmnq64015156221.png

    4btk5bqpmnq64015156221.png

    . ^/ O. h1 {% D' V! f8 |
  • clc;clear;close all;T=readtable('People.xls','VariableNamingRule', 'preserve');data=table2array(T(:,2:3));value=data./sum(data);male=-value(:,1);female=value(:,2);colors=spring(size(data,1));x=1:size(data,1);figure('Position',[476 144 655 722],'Color','w')hold onfor i = 1:size(data,1)    hBar1=barh(x(i),male(i),'EdgeColor','k','FaceColor','b','FaceAlpha',0.5);    hBar2=barh(x(i),female(i),'EdgeColor','k','FaceColor','r','FaceAlpha',0.5);endxline(0,'color',[1,1,1],'Alpha',1,'LineWidth',1.2)loc=max(value);text(-loc(1)/2,size(data,1),'male','FontSize',16,'FontName','times new Roman')text(loc(2)/2,size(data,1),'female','FontSize',16,'FontName','times new Roman')disp(char([20844 20247 21495 58 22909 29609 30340 77 97 116 108 97 98]))ax = gca;ax.XTickLabel = arrayfun(@(x) num2str(abs(x)*100, '%.2f'), ax.XTick, 'UniformOutput', false);ax.YTick = [1:size(data, 1)];ax.LineWidth=1.2;ax.Title.String='2022 Population Structure Chart';ax.XLabel.String='Proportion(%)';ax.XAxis.TickDirection='out';ax.FontName='Times New Roman';ax.FontSize=16;yt = yticks;ax.YAxis.Visible = 0;text(ones(size(yt))*min(xlim)-0.01*diff(double(xlim)), yt, T{:,1}, 'Horiz','right', 'Vert','middle','fontsize',14,'FontName','Times New Roman')
    # Z5 Q7 D1 E* X. b  A

    ftgoqip4nld64015156322.png

    ftgoqip4nld64015156322.png

    & U2 ]) s) o$ ^; ]6 V8 q, _- -THE END- -5 S1 E! |. `4 W! g  g

    8 I: z* J/ _% i源码下载:gitee下载:https://gitee.com/LoveMatlab/population-pyramid
    2 C+ \: m. a2 V) q

    tyotn4u5u1i64015156422.png

    tyotn4u5u1i64015156422.png
    9 L5 U9 _( ?- c. u5 t
    QQ 群下载:2 m; K: z/ j1 ]) `9 q4 N$ _

    g2102iomuh264015156522.png

    g2102iomuh264015156522.png

    $ ~; Y( H0 V9 a  p% s知识星球(主要是更新代码和资料、欢迎加入和赞助)
      J' U% d+ }2 D* M1 K# x3 n
    0 S$ b! {. L* f, G9 g2 S

    0c1opavrvkn64015156622.png

    0c1opavrvkn64015156622.png
    3 F% p& Q' c$ P3 U
    参考资料:9 O# e! ]) M$ ^3 b9 \
    【1】https://ww2.mathworks.cn/matlabcentral/answers/2054364-how-to-set-up-a-plot-with-labels-but-no-y-axis-tick-marks?s_tid=srchtitle+ u$ t4 e! _% j. a/ `0 N

    % l( q. U% a0 q1 u" F0 K

    3cavhj5gn2n64015156722.gif

    3cavhj5gn2n64015156722.gif

    + ?+ Z4 Z' I' E' J8 m1 V

    spjskbydbjm64015156822.png

    spjskbydbjm64015156822.png
    5 d/ [/ {. Z. N! T9 {
    送书活动
    ( Q: L2 h5 x9 H5 @7 f' S# a

    kbzgnfx2upf64015156922.png

    kbzgnfx2upf64015156922.png
    , f  S9 j2 u( w# I) \

    2ff1pume4bt64015157022.gif

    2ff1pume4bt64015157022.gif
    ; `9 Z. Q  p- T, z- h6 ~2 Z
    ! e4 i8 H) f. r% W: M
    包邮赠送 北京理工大学出版社出版社赞助《R语言统计分析实战》《R语言统计分析实战》通俗易懂,示例丰富,实用性强,特别适合R语言统计分析入门与进阶读者阅读,也适合数据科学领域的其他从业者阅读。另外,《R语言统计分析实战》还适合作为统计分析、机器学习和数据分析等领域的培训用书。
    9 a& ~7 U" G+ ^; d, R【抽奖方式及满足条件】:1.关注「好玩的MATLAB 」公众号和视频号
    7 V# u/ c2 Q" [4 a; X- }0 t+ r

    oflflhjyonk64015157123.jpg

    oflflhjyonk64015157123.jpg
    ( ^. J. G/ U- V4 F$ b/ i& n, E$ j
    2.给本文点【】+【在看】;
    ; S3 |6 e- R7 R, R. a! |( A3.留言区评论点赞最多的前3名。
    : l3 {' N2 u, A* }4.本活动只针对从未获过奖的同学,之前获过奖的小伙伴,不用参加。
    ! h/ v: W5 a0 @. n同时满足上述4个条件的读者朋友,包邮赠送一本。# x: L" @% g& q7 K' j
    【开奖时间】:2023年 12月4日夜晚8点& T, B) D& }* X( x
    【领奖方式】:在开奖时加小编私人微信:idmatlab$ C% n4 ?* D/ Q
    扫一扫加管理员微信/ m! J) j9 Y% d$ w& i- M4 r

    twfwszw0mpc64015157223.png

    twfwszw0mpc64015157223.png

    5 q: T3 Y8 `7 D5 P; f

    ibf1i5fxjz364015157323.jpg

    ibf1i5fxjz364015157323.jpg
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表