根据功能实现效果如下:

我们现在有个功能是根据学生的玩耍时长,每个月,学生分数,以及玩耍器材的时长数展示.在echarts中.他们的散点图的各国人均寿命与GDP关系演变也是有4个属性来控制,我们决定使用这个来展示.官方实例地址 在官方实例中,最开始就去请求了一个地址.来获取数据

$.get('data/asset/data/life-expectancy.json', function (data) {}

F12查看请求的数据格式.格式如下


在一个对象中,有三个属性,第一个和第三个分别了封装了19国家以及81个年份.都是以数组形式

在第二个参数中,封装的就挺复杂的.首先外面是一个大的数组.有81个元素.这个应该是根据年份的数量来决定的.

其中每个元素里面有19个小元素,这个应该是19个国家的数量来决定的. 剩下最里面的就是单个年份,单个国家里面应该包含的数据.
下面就我已经测出来控制的属性,做下注释

var itemStyle = {normal: {opacity: 0.8, //控制圆球的透明度shadowBlur: 10, //shadowOffsetX: 0,shadowOffsetY: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}};
var sizeFunction = function (x) {var y = Math.sqrt(x / 5e8) + 0.1;return y * 80;};  控制圆球的大小,返回的数值根据y轴的大小范围进行变化.根据自身元素动态调整该函数// Schema:  //设置一个圆需要展现的数据,如果有更好的方式可以替换var schema = [{name: 'Income', index: 0, text: '人均收入', unit: '美元'},{name: 'LifeExpectancy', index: 1, text: '人均寿命', unit: '岁'},{name: 'Population', index: 2, text: '总人口', unit: ''},{name: 'Country', index: 3, text: '国家', unit: ''}];
option = {   //设置散点图样式的全部属性设置baseOption: {timeline: {  // 右侧时间线axisType: 'category',orient: 'vertical',autoPlay: true,//是否自动播放inverse: true,playInterval: 1000,  //更换时间线间隔时间left: null,right: 0,top: 20,bottom: 20,width: 55,height: null,label: {normal: {textStyle: {color: '#999'}},emphasis: {textStyle: {color: '#fff'}}},symbol: 'none',lineStyle: {color: '#555'},checkpointStyle: {color: '#bbb',borderColor: '#777',borderWidth: 2},controlStyle: {showNextBtn: false,showPrevBtn: false,normal: {color: '#666',borderColor: '#666'},emphasis: {color: '#aaa',borderColor: '#aaa'}},data: []},backgroundColor: '#404a59', //设置整个散点图背景图颜色title: [{   //表中年份大字的展示设置text: data.timeline[0], //预先设置的一个值,和后台返回的对象名要一值textAlign: 'center',left: '63%',top: '55%',textStyle: {fontSize: 100,color: 'rgba(255, 255, 255, 0.7)'}}, {text: '各国人均寿命与GDP关系演变',left: 'center',top: 10,textStyle: {color: '#aaa',fontWeight: 'normal',fontSize: 20}}],tooltip: {  //设置悬浮框中文件展示效果,其中使用了Schema中的元素.padding: 5,backgroundColor: '#222',borderColor: '#777',borderWidth: 1,formatter: function (obj) {var value = obj.value;return schema[3].text + ':' + value[3] + '<br>'+ schema[1].text + ':' + value[1] + schema[1].unit + '<br>'+ schema[0].text + ':' + value[0] + schema[0].unit + '<br>'+ schema[2].text + ':' + value[2] + '<br>';}},grid: {top: 100,containLabel: true,left: 30,right: '110'},xAxis: {  //设置X轴属性type: 'log', //现在设置的是正态分布.如果要间隔展示需要设置成valuename: '人均收入',max: 100000, //最大值min: 300, //最小值nameGap: 25,nameLocation: 'middle',nameTextStyle: {fontSize: 18},splitLine: {show: false},axisLine: {lineStyle: {color: '#ccc'}},axisLabel: {formatter: '{value} $'}},yAxis: { //设置y轴展示图type: 'value', name: '平均寿命',max: 100,nameTextStyle: {color: '#ccc',fontSize: 18},axisLine: {lineStyle: {color: '#ccc'}},splitLine: {show: false},axisLabel: {formatter: '{value} 岁'}},visualMap: [ //设置展示圆球的个数,颜色等{show: false,dimension: 3,categories: data.counties,calculable: true,precision: 0.1,textGap: 30,textStyle: {color: '#ccc'},inRange: {color: (function () {var colors = ['#bcd3bb', '#e88f70', '#edc1a5', '#9dc5c8', '#e1e8c8', '#7b7c68', '#e5b5b5', '#f0b489', '#928ea8', '#bda29a'];return colors.concat(colors);})()}}],series: [ //开始设置每个球的内容.{type: 'scatter',itemStyle: itemStyle,data: data.series[0], //这时吧最外层的数组传进一个初始值.此时传进的是二维数组.在其内部应该会将二维数组,拆分一位数组
//传入下面的方法,此时传入的就是单个国家,单年的数组.国家名字,人口,GDP等,这时把需要当做大小数传入方法中.在这里,数组的第三个元素是人均收入symbolSize: function(val) {return sizeFunction(val[2]);}}],animationDurationUpdate: 1000,animationEasingUpdate: 'quinticInOut'},options: []};//下面开始循环时间线,把后台返回的数值都设置在散点图里面for (var n = 0; n < data.timeline.length; n++) {option.baseOption.timeline.data.push(data.timeline[n]);//年份option.options.push({title: {show: true,'text': data.timeline[n] + ''},series: { //把第二个元素.三维数组设置.name: data.timeline[n],type: 'scatter',itemStyle: itemStyle,data: data.series[n],symbolSize: function(val) {return sizeFunction(val[2]);}}});}myChart.setOption(option);

转载于:https://my.oschina.net/u/3614139/blog/3098624

Echarts使用之-散点图(各国人均寿命与GDP关系演变)相关推荐

  1. python数据可视化例子各国人均寿命_数据可视化的16个经典案例

    [数据可视化] 本文编译自:Ross Crooks数据是非常强大的.当然,如果你能真正理解它想告诉你的内容,那它的强大之处就更能体现出来了. 什么是数据可视化? 数据可视化是指将数据以视觉的形式来呈现 ...

  2. 76Echarts - 散点图(Life Expectancy and GDP)

    效果图 源代码 <!DOCTYPE html> <html><head><meta charset="utf-8"><titl ...

  3. ECharts 实现地图散点图上(转载)

    转载来源:https://efe.baidu.com/blog/echarts-map-tutorial/ ECharts 实现地图散点图(上)  小红  2016-04-28  ECharts, 教 ...

  4. 已更新-各国制度、地理、文化距离、世界各国人均GDP(内附计算说明)

    (1)两国间地理距离 1.数据来源:CEPII 2.时间跨度:至今 3.区域范围:世界 4.指标说明: 各国间的地理距离数据 (2)制度距离与文化距离 1.数据来源:www.govindicators ...

  5. ECharts可视化基础——散点图

    ECharts可视化基础--散点图 ECharts可视化基础1 ECharts可视化基础2 ECharts可视化基础3 散点图的实现. 绘制运动员身高体重的散点图,分析身高与体重两变量的关系.所给的数 ...

  6. 全球各国研发支出占GDP比例(1996-2018年)

    数据集名称:全球各国研发支出占GDP比例 时间范围:1996-2018年 数据来源:世界银行 相关说明: R&D (research and development),指在科学技术领域,为增加 ...

  7. echarts 2D地图散点图(带立体效果)tooltips中点击事件

    模板 <template><div class="wrapper"><div class="chart" id="cha ...

  8. echarts 中国地图散点图渲染

    准备 echarts 中国地图的json(在最后) GitHub的demo地址,可以直接拉下来 先注册地图 import * as echarts from 'echarts'; import { d ...

  9. vue+echarts+bmap绘制散点图

    基于echarts的中国地图散点图在上篇博客中已经写过了,这篇博客主要写一下基于扩展的百度地图为地图绘制的方法 1.在main.js注册echarts 2.在页面引入bmap.js import 'e ...

  10. echarts中的散点图极坐标系展现上半圆时钟图

    1.应用场景 项目中需要实现下图红框中的上半月类似时钟的设计图,其中'90'和'3'都是动态变化的(后端返回的数据).设计图中白色大头针的个数随着分数的增减而顺时针增减,浅蓝色的大头针随着分数的增减而 ...

最新文章

  1. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari...
  2. 万字长文总结机器学习的模型评估与调参 | 附代码下载
  3. 【错误记录】NDK 动态库报错 ( dlopen failed: file offset for the library /lib/arm64/libwebp.so“ >= file size:0)
  4. java.lang.IncompatibleClassChangeError: Expected static method
  5. SAP R/3系统的R和3分别代表什么含义,负载均衡的实现原理 1
  6. 自定义Toast 很简单就可以达到一些对话框的效果 使用起来很方便
  7. C#多线程JOIN方法初探
  8. html table样式_CSS表格样式
  9. 2014年高级计算机操作员工种代码36-323不可积分入户深圳吗,2014年深圳积分入户工种加分考证...
  10. ipc$远程连接计算机的指令,通过IPC$***,通过命令开启远程协助,。。
  11. OSSemPend()--等待一个信号量
  12. dbeaver can't connect HBase1.2 using phoenix driver #1863
  13. awk入门-保护SSHD
  14. 3D脚本 maxscript入门教程(7)
  15. .NET 4 实践 - 使用dynamic 和MEF实现轻量级的 AOP 组件 (1)
  16. 数字延时网络混响算法研究(FDN)
  17. [软工]可行性分析报告
  18. python小波包分解_小波包变换(Wavelet Packet Transform)的学习笔记
  19. 大学生网页作业成品——基于HTML网上书城项目的设计与实现
  20. AndroidN DisplayManagerService源码简析,亮屏流程分析

热门文章

  1. 优化高德地图加载出现白色
  2. 记一次查深圳磨房百公里徒步照片历程
  3. java实现文件压缩打包(zip打包)(文件相关二)
  4. About all the awsome websites
  5. PAT2021年冬(满分题解)
  6. 权威发布|2020年11月份全国铝合金模板PMI指数出炉,请查收!
  7. 中国企业家:TD-SCDMA的坎坷商业路
  8. 在线地图地址3857+4326
  9. ORID方法在敏捷中的利用
  10. 不规则四面体知道六边的体积公式