导入外部数据使用echarts绘图

导入外部数据(.csv)使用echarts绘图

使用d3导入外部数据

echarts是一不错的可视化工具,大家在用echarts做可视化的时候,可能不太清楚怎么去导入外部数据(如.csv),尤其对Javascript比较陌生的小白来说(比如我),那么这里介绍一种方法,希望对你们有用。本人由于刚接触该语言,如果哪里写错了,还请大家见谅。

需要的包

1、绘图必备包:echarts
2、数据导入包:d3(搜索相关网页免费下载,也可以直接使用我用的这个d3链接:https://d3js.org/d3.v4.min.js)

代码

1、相关包的导入:

<head>
    <meta charset="UTF-8">
    <title>柱状图的绘制</title>   //图表标题
    <script src ="incubator-echarts-master/dist/echarts.js"></script>//引入echarts包
    <script src="https://d3js.org/d3.v4.min.js"></script>//引入d3包
</head>

那么这里的echarts包,我已经下载好了,只需要写此包的完整路径就可以了;d3包我没有下载,我是直接使用链接的。

2、如何使用

//获取csv对象
d3.csv("333.csv",function(error,csvdata){
    
      
    if(error){
    
      
        console.log(error);  
    }else{
    
    
    for( var i=0; i<csvdata.length; i++ ){
    
      
        nameset.push(csvdata[i].day);           //对象转数组
        numset1.push(parseFloat(csvdata[i].p50));
        numset2.push(parseFloat(csvdata[i].p80));
    }
//这里插入需要画的echarts图代码,官网上有更多选择。
    }
    })

这里是使用d3的一个基本格式,由于我导入的是我自己实验的.csv文件(333.csv),所以使用d3.csv,大家可以根据需要引用其它格式。

举例

这里我们以画一个柱状图:

1、数据

在这里插入图片描述

2、完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>柱状图的绘制</title>
    <script src ="incubator-echarts-master/dist/echarts.js"></script>
    <script src="https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<div id="main" style="height: 600px;width:900px;"></div>
<script>

var nameset=[];//数组初始化
var numset1=[];
var numset2=[];
//获取csv对象
d3.csv("333.csv",function(error,csvdata){
    
      

    if(error){
    
      
        console.log(error);  
    }else{
    
    
    for( var i=0; i<csvdata.length; i++ ){
    
      
        nameset.push(csvdata[i].day);           //对象转数组
        numset1.push(parseFloat(csvdata[i].p50));
        numset2.push(parseFloat(csvdata[i].p80));
    }

    var myChart = echarts.init(document.getElementById("main"));

    var option = {
    
    
    color: ['#003366', '#006699'],
    tooltip: {
    
    
        trigger: 'axis',
    },

    legend: {
    
    
        data: ['p50', 'p80']
    },

    toolbox: {
    
    
        show: true,
        feature: {
    
    
            mark: {
    
    show: true},
            dataView: {
    
    show: true, readOnly: false},
            magicType: {
    
    show: true, type: ['line', 'bar']},
            restore: {
    
    show: true},
            saveAsImage: {
    
    show: true}
        }
    },
    grid: {
    
    
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    calculable : true,
    xAxis: [
        {
    
    
            type: 'category',
            data: nameset,
            axisPointer: {
    
    
                type: 'shadow'
            }
        }
    ],
    yAxis: [
        {
    
    
            type: 'value',
            min: 20,
            max: 70,
            interval: 10,
        }
    ],
    series: [
        {
    
    
            name: 'p50',
            type: 'bar',
            data: numset1,
            color:'#003366'
        },
        {
    
    
            name: 'p80',
            type: 'bar',
            data: numset2,
            color:'#006699'
        }
    ]
};

    myChart.setOption(option);    
    }
});  
</script>
</body>
</html>

3、效果
在这里插入图片描述
虽然图做得有点不好看,但是大家不要质疑用echarts绘图,毕竟因为是我做的(嘻嘻)。总之,目的达到就行。这种方法供大家参考,当然大家如果有更好的方法可以一起分享。

猜你喜欢

转载自blog.csdn.net/qq_41390184/article/details/109275431