缺失数据可视化图表开发实战|Highcharts创建人员出生统计面积图表示例

完整可运行代码

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>面积图 - 男孩姓名出生人数</title>
    <style>
        #container {
            width: 100%;
            height: 500px;
        }
    </style>
    <script src="https://code.highcharts.com/highcharts.js"></script>
</head>
<body>
    <div id="container"></div>

<script>
// 数据来源:https://www.ssb.no/statbank/table/10467/
// 图表功能:显示数据差距的面积图,支持 null 空白缺失数据
Highcharts.chart('container', {
    // 1. 图表类型:面积图(area)
    chart: {
        type: 'area'
    },

    // 2. 主标题
    title: {
        text: '按男孩姓名统计的出生人数'
    },

    // 3. 副标题(提示缺失数据)
    subtitle: {
        text: '* 2019年 Yasin 数据缺失',
        align: 'right',        // 右对齐
        verticalAlign: 'bottom'// 垂直靠下
    },

    // 4. 图例配置
    legend: {
        layout: 'vertical',     // 垂直布局
        align: 'left',         // 水平靠左
        verticalAlign: 'top',  // 垂直靠上
        x: 150,                // X偏移
        y: 60,                 // Y偏移
        floating: true,        // 悬浮在图表上
        borderWidth: 1,        // 边框宽度
        backgroundColor: '#fff'// 背景白色
    },

    // 5. Y轴配置
    yAxis: {
        title: {
            text: '人数'
        }
    },

    // 6. 系列通用配置
    plotOptions: {
        series: {
            pointStart: 2016   // X轴数据从 2016 年开始
        },
        area: {
            fillOpacity: 0.5    // 面积填充透明度 50%
        }
    },

    // 7. 隐藏版权信息
    credits: {
        enabled: false
    },

    // 8. 数据系列(两条面积曲线)
    series: [{
        name: 'Arvid',         // 姓名1
        data: [11, 11, 8, 13, 12, 14, 4, 12]
    }, {
        name: 'Yasin',         // 姓名2
        data: [10, 10, 8, null, 8, 6, 4, 8]
        // 重点:null = 2019年数据缺失 → 图表自动断开
    }]
});
</script>
</body>
</html>

1. 可视化搭建使用图表类型

面积图(area)

  • 填充区域展示数据大小
  • 能清晰看到两组数据的差距
  • 视觉效果比折线图更强、更直观

2. 图表展示内容

对比两个男孩名字 ArvidYasin

  • 每年的出生登记人数
  • 时间跨度:2016--2023 共 8 年

3. 最关键知识点:null 缺失数据

你给的说明重点:Highcharts 将 null 值作为缺失数据,自动留出空白。

代码里:

javascript 复制代码
data: [10,10,8,null,8,6,4,8]
  • null 位置 = 2019 年
  • 图表效果:此处线条断开,不连接,形成空白
  • 副标题标注:* 2019年 Yasin 数据缺失

4. 图表作用

  • 清晰展示多年数据变化趋势
  • 直观对比两组数据差距
  • 自动处理缺失数据(null),不强行连接
  • 面积填充让数据大小一目了然

5. 数据对应年份(自动生成)

pointStart: 2016

复制代码
索引 0 → 2016
索引 1 → 2017
索引 2 → 2018
索引 3 → 2019 (缺失 null)
索引 4 → 2020
索引 5 → 2021
索引 6 → 2022
索引 7 → 2023

这是一张显示数据差距的面积图 ,用于对比两个男孩姓名多年的出生人数。Highcharts 默认会将数据中的 null 视为缺失数据 ,并在图表上自动形成空白断开,不会错误连接,保证数据展示真实准确。

相关推荐
devilnumber5 分钟前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
asdfg12589632 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
Cutecat_2 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
dsyyyyy11012 小时前
JavaScript变量
开发语言·javascript·ecmascript
qq_422152572 小时前
PDF 加水印工具怎么选?2026 年文档版权保护方案对比
前端·pdf·github
kyriewen2 小时前
手写 Promise.all、race、any:不到 30 行代码,解决并发异步的所有姿势
前端·javascript·面试
z落落3 小时前
C#WinForm 窗体切换与窗体传值(登录跳转案例)+WinForm 窗体传值(从上往下传、从下往上传)
开发语言·windows·c#
Highcharts.js3 小时前
Highcharts 官方正式发布v13.0.0 |官方更新日志、解决的BUG
信息可视化·highcharts·新版本发布·可视化开发·bug修复·v13
allway23 小时前
How to Echo Multiline to a File in Bash [3 Methods]
开发语言·chrome·bash
weixin_462446233 小时前
手把手教你用 Bash 脚本自动更新 /etc/hosts —— 自动绑定网卡 IP 与节点名
开发语言·tcp/ip·bash