Echarts学习笔记~

这篇博客介绍了作者学习Echarts的过程,特别是如何加载JSON数据。作者提醒,在使用Echarts绘制地图时必须加载地图资源,否则会出现错误。文中展示了如何加载和展示JSON数据,指出了直接在JSON中写数据会导致页面无法正常显示的问题,并提供了解决方法。此外,还提到如果需要在页面中加载多个图表,需要定义多个图表实例,并注意样式设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片 好久没更新了,之前都在忙找实习的事情,所以就停了一段时间,现在要重新加油啦~不可以偷懒~

这两天学习了Echarts的用法,实际来说,他的很多功能在echart的文档当中都写的很清楚了,我最开始学习的是地图的用法,然而,我没有加载地图,所以就给BUG了,所以如果要写关于地图类的数据表,一定要加载地图的信息,不要和我一样蠢……………….

今天第一个主要是写关于echarts加载json数据的学习笔记


先贴json数据


{
    "month": [
        "1月",
        "2月",
        "3月",
        "4月",
        "5月",
        "6月"
    ],
    "num": [
        234,
        420,
        135,
        323,
        543,
        120
    ]
}

很简单的两组数据,一组是月份,一组是销量。
然后贴页面里面写的

// 先确定用于展示echart的标签块,我在body里写了一个div,并给他的id命名为main
var dom = document.getElementById('main');
var myChart = echarts.init(dom);
//用jQuery当中的ajax来加载json数据,所以一定要引入jQuery文件
$.ajax({
    type: 'get',
    url: '../data/1.json'
})
.done(function(data) {
    // console.log()用于展示json文件里的数据
    console.log(data);
    // 设置数据
    myChart.setOption({
        title: {
            text: '销量展示'
        },
        tooltip: {},
        legend: {
            data: ['销量']
        },
        // 在echarts文档中,xAxis里面展示的是data: ['1月份', '2月份'...]这样的数据,但是因为通过json文件检索,所以我们只需要写出x轴需要的数据即可
        xAxis: {
            data: data.month
        },
        yAxis: {},
        series: [{
            name: '销量',
            type: 'bar',
            data: data.num
        }]
    })
})

所以用echarts插件来展示json文件也变得非常简单啦

然后有一个问题,我以前写json文件的时候是这样写的

[
    {
        "month" : "1月",
        "num" : 234
    },
    {
        "month" : "2月",
        "num" : 420
    },
    {
        "month" : "3月",
        "num" : 135
    },
    {
        "month" : "4月",
        "num" : 323
    },
    {
        "month" : "5月",
        "num" : 543
    },
    {
        "month" : "6月",
        "num" : 120
    }
]

如果我用这样来展示json数据,页面当中就会什么都出不来,并且报错,这就很尴尬了。所以我就试了一下,用了一种比较愚蠢的方法实现了

var dom = document.getElementById('main');
var myChart = echarts.init(dom);
// monthArr 和 numArr两个数组,是我用来存放月份数据和销量额数据的
var monthArr = [];
var numArr = [];
$.ajax({
    type: 'get',
    url: '../data/2.json'
})
.done(function(data) {
    // 将月份数据和销售额数据都存入数据中,和上面的用法就会一样了
    for(var i = 0; i < data.length; i++) {
        monthArr.push(data[i].month);
        numArr.push(data[i].num);
    }
    myChart.setOption({
        title: {
            text: '销量展示'
        },
        tooltip: {},
        legend: {
            data: ['销量']
        },
        xAxis: {
            data: monthArr
        },
        yAxis: {},
        series: [{
            name: '销量',
            type: 'bar',
            data: numArr
        }]
    })
})

但是这种用法有一个弊端就在于,setOption一定要写在ajax的成功函数里面,但是上一中方法当中,setOption就可以单独提出来。

另外补充一下,如果需要在页面当中加载多个图表,则需要定义多个图表,例如

var FirChart = echarts.init(document.getElementById(id名));
var SecChart = echarts.init(document.getElementById(另一个id名));

然后你需要在style样式中,再添加关于这两个块的大小等。

图片

echart已经基本掌握了,以后还有什么新用法就再更新吧~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值