基于Spark的机器学习实践 (四) - 数据可视化

0 相关源码

1 数据可视化的作用及常用方法

1.1 为什么要数据可视化

1.1.1 何为数据可视化?

◆ 将数据以图形图像的形式展现出来

◆ 人类可以对三维及以下的数据产生直观的感受

1.1.2 数据可视化的好处

◆ 便于人们发现与理解数据蕴含的信息

◆ 便于人们进行讨论

1.2 数据可视化的常用方法

◆ 对于web应用,一般使用echarts,hightcharts,d3.js等

◆ 对于数据分析利器python , 使用matplotlib等可视化库

◆ 对于非码农的数据分析员, 一般使用excel等

2 初识Echarts

◆ echarts是由百度开源的JS数据可视化库,底层依赖ZRender渲染

◆ 虽然该项目并不能称为最优秀的可视化库,但是在国内市场占有率很高,故本教程选择echarts.

◆ echarts 提供的图表很丰富 ,我们只需使用其中几个即可

2.1 学习使用echarts绘图

◆ 我们将通过官网的文档,共同学习echarts使用的基本方法

◆ 使用流程:

  • 定义网页结构
  • 声明DOM
  • 填充并解析数据
  • 渲染数据

◆ 我们主要学习的图表有折线图、条形图、散点图等

3 通过Echarts实现图表化数据展示

3.1 实现一个echarts图表的例子

简单线形图

  • 替换为年份数据
  • 替换为降雨量数据

柱状图动画延迟

var xAxisData = [2009,2007,2006,2005,2004,2003,2002,2001,2000,1999,1998,1997,1996,1995,1994,1993,1992,1991,1990,1989,1988,1987,1986,1985,1984,1983,1982,1981,1980,1979,1978,1977,1976,1975,1974,1973,1972,1971,1970,1969,1968,1967,1966,1965,1964,1963,1962,1961,1960,1959,1958,1957,1956,1955,1954,1953,1952,1951,1950,1949];
var data = [0.4806,0.4839,0.318,0.4107,0.4835,0.4445,0.3704,0.3389,0.3711,0.2669,0.7317,0.4309,0.7009,0.5725,0.8132,0.5067,0.5415,0.7479,0.6973,0.4422,0.6733,0.6839,0.6653,0.721,0.4888,0.4899,0.5444,0.3932,0.3807,0.7184,0.6648,0.779,0.684,0.3928,0.4747,0.6982,0.3742,0.5112,0.597,0.9132,0.3867,0.5934,0.5279,0.2618,0.8177,0.7756,0.3669,0.5998,0.5271,1.406,0.6919,0.4868,1.1157,0.9332,0.9614,0.6577,0.5573,0.4816,0.9109,0.921];

option = {
    title: {
        text: '柱状图动画延迟'
    },
    legend: {
        data: ['beijing'],
        align: 'left'
    },
    toolbox: {
        // y: 'bottom',
        feature: {
            magicType: {
                type: ['stack', 'tiled']
            },
            dataView: {},
            saveAsImage: {
                pixelRatio: 2
            }
        }
    },
    tooltip: {},
    xAxis: {
        data: xAxisData,
        silent: false,
        splitLine: {
            show: false
        }
    },
    yAxis: {
    },
    series: [{
        name: 'beijing',
        type: 'bar',
        data: data,
        animationDelay: function (idx) {
            return idx * 10;
        }
    }
],
    animationEasing: 'elasticOut',
    animationDelayUpdate: function (idx) {
        return idx * 5;
    }
};
复制代码

var xAxisData = [2009,2007,2006,2005,2004,2003,2002,2001,2000,1999,1998,1997,1996,1995,1994,1993,1992,1991,1990,1989,1988,1987,1986,1985,1984,1983,1982,1981,1980,1979,1978,1977,1976,1975,1974,1973,1972,1971,1970,1969,1968,1967,1966,1965,1964,1963,1962,1961,1960,1959,1958,1957,1956,1955,1954,1953,1952,1951,1950,1949];
var data = [0.4806,0.4839,0.318,0.4107,0.4835,0.4445,0.3704,0.3389,0.3711,0.2669,0.7317,0.4309,0.7009,0.5725,0.8132,0.5067,0.5415,0.7479,0.6973,0.4422,0.6733,0.6839,0.6653,0.721,0.4888,0.4899,0.5444,0.3932,0.3807,0.7184,0.6648,0.779,0.684,0.3928,0.4747,0.6982,0.3742,0.5112,0.597,0.9132,0.3867,0.5934,0.5279,0.2618,0.8177,0.7756,0.3669,0.5998,0.5271,1.406,0.6919,0.4868,1.1157,0.9332,0.9614,0.6577,0.5573,0.4816,0.9109,0.921];

option = {
    title: {
        text: '柱状图动画延迟'
    },
    legend: {
        data: ['beijing','shanghai'],
        align: 'left'
    },
    toolbox: {
        // y: 'bottom',
        feature: {
            magicType: {
                type: ['stack', 'tiled']
            },
            dataView: {},
            saveAsImage: {
                pixelRatio: 2
            }
        }
    },
    tooltip: {},
    xAxis: {
        data: xAxisData,
        silent: false,
        splitLine: {
            show: false
        }
    },
    yAxis: {
    },
    series: [
    {
        name: 'beijing', 
        type: 'bar',
        data: data,
        animationDelay: function (idx) {
            return idx * 10;
        }
    },
    {
        name: 'shanghai', 
        type: 'bar',
        data: data,
        animationDelay: function (idx) {
            return idx * 10;
        }
    }
],
    animationEasing: 'elasticOut',
    animationDelayUpdate: function (idx) {
        return idx * 5;
    }
};
复制代码

Spark机器学习实践系列

转载于:https://juejin.im/post/5cac66f85188251afd7997ad

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Spark的疫情数据分析大屏可视化源码通常包括以下几个主要部分。 1. 数据采集:使用Spark提供的数据处理功能,从不同的数据源(如政府公开数据、社交媒体等)采集疫情相关的数据。通过Spark的强大分布式计算能力,可以快速有效地处理大规模数据。 2. 数据清洗与处理:对采集到的原始数据进行清洗,去除无效数据、处理缺失值和异常值等。使用Spark的数据处理和转换功能,进行数据预处理,使数据适合后续分析和可视化。 3. 特征提取与分析:对清洗后的数据进行特征提取和分析,通过Spark MLib等机器学习库提供的各种算法,进行数据挖掘、聚类、分类、预测等分析。这些分析结果可用于后续的可视化展示。 4. 可视化展示:使用Spark提供的可视化工具(如Spark SQL、DataFrame等),结合前端的Web开发技术(如HTML、CSS、JavaScript等),将分析结果以图表、地图等形式展示在大屏上。可以使用开源的可视化库(如D3.js,Echarts等)来帮助制作各种图表和地图。 5. 实时更新:通过Spark Streaming等实时数据处理技术,将实时的疫情数据快速更新到大屏上。可以设置定时任务,定期更新数据,保证大屏的数据始终是最新的。 以上就是基于Spark的疫情数据分析大屏可视化源码的主要内容。通过Spark的分布式计算和数据处理能力,结合可视化技术,可以将疫情数据高效地处理和展示在大屏上,为相关人员提供有用的信息和决策支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值