第七次人口普查数据可视化---pyecharts

前段时间利用pyecharts做了第七次人口普查数据可视化,需要的朋友可以拿去修改使用(代码在文章最后)。

演示图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源代码

# -*- coding:utf-8 -*-
import xlrd as excel  # 导入xlrd模块
from pyecharts.charts import Bar, Map, Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Line
from pyecharts.globals import CurrentConfig, NotebookType

CurrentConfig.NOTEBOOK_TYPE = NotebookType.NTERACT
import webbrowser as wb


def bar(*list):  # 柱状图

    list1 = list[0]
    list2 = list[1]

    c = (
        Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
            .add_xaxis(list1)
            .add_yaxis("第七次人口普查各省人数比列", list2, category_gap="50%")
            .set_global_opts(
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45)),
            title_opts=opts.TitleOpts(subtitle="总人数:1411778724", pos_left="center",pos_top="5%"),
        )
            .set_series_opts(
            label_opts=opts.LabelOpts(
                position="top",
                color="blue",
            )
        )
            .render("Bar.html")
    )
    wb.open("Bar.html")


def line():  # 七次普查人口数量变化
    years = ["1953", "1964", "1982", "1990", "2000", "2010", "2020"]  # 年份表
    data = [6.01, 7.23, 10.31, 11.60, 12.95, 13.70, 14.43]  # 数据含港澳台,单位:亿

    c = (
        Line(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
            .add_xaxis(years)
            .add_yaxis("年份节点", data)
            .set_global_opts(title_opts=opts.TitleOpts(title="七次人口普查历年折线数据图", subtitle="单位:亿"))
            .render("line.html")
    )
    wb.open("line.html")


def ChianMap(*collection):
    points_tulpe = list(zip(collection[0], collection[1]))

    c = (
        Map(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
            .add("", points_tulpe, "china")
            .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
            .set_global_opts(title_opts=opts.TitleOpts(title="中国第七次人口普查各省数据", pos_left="center"))
            .render("provinceNum.html")
    )
    wb.open("provinceNum.html")

def pin():
    mf_ratio = [("男", 51.24), ("女", 48.76)]
    age_ratio = [("0-14岁", 17.95), ("15-59岁", 63.35), ("60岁及以上", 13.50)]
    graduation = [("大学(含大专及以上)", 15467), ("高中(含中专)", 15088), ("初中", 34507), ("小学", 24767)]
    c = (
        Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
            .add(
            " ",
            mf_ratio,
            radius=["15%", "30%"],
            center=["20%", "30%"],
        )
            .add(
            "",
            age_ratio,
            radius=["15%", "30%"],
            center=["45%", "30%"],
        )
            .add(
            "每十万人中",
            graduation,
            radius=["15%", "30%"],
            center=["20%", "70%"],
        )
            .set_global_opts(
            title_opts=opts.TitleOpts(title="男女比例、年龄比例、每十万人中受教育人数"),
            legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="18%"),
        )
            .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
            .render('pie.html')

    )
    wb.open('pie.html')


def main():
    data_path = "第七次人口调查数据.xlsx"  # 文件的绝对路径
    sheetName = "第七次人口普查数据"  # sheet工作表的名字
    data = excel.open_workbook(data_path)  # 打开表格
    table = data.sheet_by_name(sheetName)
    area = table.col_values(0)  # 获取区域名字
    num = table.col_values(1)  # 获取人数
    ratio = table.col_values(2)  # 获取比例信息

    bar(area, ratio)  # 柱状图
    line()  # 历年人口数量变化
    ChianMap(area, num)  # 中国地图数量显示
    pin()  # 饼图


if __name__ == "__main__":
    main()

我使用的环境是Python3.6.0,在使用之前保证你已经安装pyecharts最新版本pyecharts v1,其它版本没有试过或许能用。普查数据要和程序放在同一文件下使用。

人口普查数据
链接:https://download.csdn.net/download/weixin_52658156/20346301

  • 2
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 对于第七次人口普查数据的可视化,可以使用MATLAB编写源码来实现。以下是一个基本的MATLAB源码示例: ```MATLAB % 读取数据文件 data = csvread('population_data.csv'); % 提取需要的数据列 year = data(:, 1); % 年份 population = data(:, 2); % 人口数量 % 绘制人口数量随时间变化的折线图 figure; plot(year, population, '-o'); xlabel('年份'); ylabel('人口数量'); title('第七次人口普查数据可视化'); grid on; % 计算人口增长率 growth_rate = diff(population) ./ population(1:end-1) * 100; % 绘制人口增长率随时间变化的柱状图 figure; bar(year(2:end), growth_rate); xlabel('年份'); ylabel('人口增长率(%)'); title('第七次人口普查人口增长率可视化'); grid on; ``` 以上源码演示了如何使用MATLAB进行数据可视化。首先,它从名为"population_data.csv"的CSV文件中读取数据,其中包括年份和人口数量两列。然后,通过使用plot函数绘制了人口数量随时间变化的折线图,并使用xlabel、ylabel和title函数设置相关图表标签和标题。同时,它还计算了人口增长率,并使用bar函数绘制了人口增长率随时间变化的柱状图。 以上源码只是一个简单的示例,可能需要根据实际数据的格式和需求进行适当的修改和调整。 ### 回答2: 第七次人口普查数据的可视化源码是基于MATLAB编程语言开发的。以下是关于该源码的详细说明: 该源码主要包括以下几个模块:数据预处理、数据可视化、交互式图表和结果输出。 首先,数据预处理模块会对第七次人口普查数据进行处理和清洗,包括数据的读取、缺失值的处理以及数据格式的转换。这确保了后续的可视化分析能够正常进行。 接着,数据可视化模块利用MATLAB的绘图函数和图表库,绘制各种类型的图表,如柱状图、饼图、折线图等。这些图表能够直观地展示人口普查数据的分布、变化趋势等信息。 然后,交互式图表模块通过添加交互式功能,使用户能够通过鼠标操作图表,实时改变图表的显示内容和参数。这样,用户可以根据自己的需求进行图表的筛选、排序、比较等操作,更深入地了解数据。 最后,结果输出模块将生成的图表保存为图片或PDF格式,并提供打印、分享等功能。这样,用户可以方便地将他们感兴趣的图表用于报告、论文或演示文稿中。 总的来说,该源码使用MATLAB编程语言实现了第七次人口普查数据的可视化分析。它可以帮助用户更深入地了解人口普查数据,并灵活地进行数据的分析和展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

消寒冰冻结程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值