echarts绘制缩放折线图,实时刷新

 // 折线数据

var FFTData = [

[1,3],[2,4],[3,5],[4,8],[5,2]

];

var myChart1 = echarts.init(document.getElementById('SpecContainer'));
// 设置图表框架
function SetNullEcharts(){
	    	    myChart1.setOption({
	    		tooltip: {
			        trigger: 'axis',
			        formatter: function(datas){
		                for(var i = 0, length = datas.length; i < length; i++) {
	                        res = MultiL["FrequencyStatus"]+" : "+ datas[i].value[0] + '<br/>'
	                        res += datas[i].seriesName + ':' + datas[i].value[1] + '<br/>';
	                    }
	                    return res;
			        }
			    },
			    title: {
			        left: 'center',
			        text: MultiL["SpectrumAnalyzer"],
			    },
			    toolbox: {
			    	right: "80",
			        feature: {
			            saveAsImage: {
			            	title: MultiL["SaveImages"],
			            },
			            restore: {},
			            dataZoom:{}
			        }
			    },
			    grid:{
			    	top: 90,
			    	show:false,
			    	right: 110, // table right
			    	left: 50
			    },
                //底部缩放控件
			    dataZoom: [{
			        type: 'inside',
			        // startValue: FFTData[0][0],
			        start: 0,//百分比
			        end: 100
			    }, {
			    	start: 0,
			        end: 100,
			        handleSize: '100%',
			        handleStyle: {
			            color: '#fff',
			            shadowBlur: 3,
			            shadowColor: 'rgba(0, 0, 0, 0.6)',
			            shadowOffsetX: 2,
			            shadowOffsetY: 2
			        }
			    }],
			    xAxis: {
			    	name: MultiL["FrequencyStatus"]+"[MHZ]",
			        type: 'value',
			        boundaryGap: false, 
			        splitNumber: 10,
			        scale:true  // 缩放操作时 控制X轴的值
			    },
			    yAxis: {
			    	name: MultiL["PowerStatus"]+'[dB]',
			        type: 'value',
			        splitLine: {
			            lineStyle: {
			                type: 'dashed'
			            }
			        },
        			max: 70
			    },

			    series: [
			        {
			            name: MultiL["PowerStatus"],
			            type:'line',
			           	smooth: true,
			           	showSymbol: false,
			            itemStyle: {
			                color: '#1f7fc9'
			            },
			            data: [],
			        },
			    ]
	    	});
    	}

 

// 给图表填数据

function SetEchartsData(dataObj, colorArr){
     var xAxis = [];
     var yAxis = [];
     for(var xA = 1; xA < FFTData.length; xA++ ) {
             xAxis.push(FFTData[xA][0]);
              yAxis.push(FFTData[xA][1]);
     }

     // 求X轴的最小值
     var min = yAxis[0];
     for(var i = 1; i < yAxis.length; i++) {
         var cur = yAxis[i];
         cur < min ? min = cur : null
     }
     var MinVal = parseInt(min);    

     myChart1.setOption({
           xAxis: {
                    min: FFTData[0][0],
                    max: FFTData[FFTData.length-1][0]
           },
           yAxis: {
                  min: MinVal - 5,
           },
           series: [ {
                  data: FFTData,
           }]
     });

}

 

// 异步加载数据

$.get('data.json').done(function (data) {
    myChart.setOption({
        series: [{
            data: data
        }]
    });
});

 // 实时刷新

setInterval(function(){
    $.get('data.json').done(function (data) {
        myChart.setOption({
            series: [{
                data: data
            }]
        });
    });
},1000)

// 浏览器自适应

window.addEventListener("resize", function () {
    myChart1.resize();
});

效果图:

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值