function postChart(index){
// 基于准备好的dom,初始化echarts实例
console.log(index)
var myChart = echarts.init(document.getElementById('main'),null,{
width:1500,
height:300
});
var data1 = document.getElementById("dataline1").value;
console.log("aaaaa")
// console.log(data1)
// console.log(Object.prototype.toString.call(data1))
// var data2 = data1.substring(1,data1.length-1);
// console.log(data2.length)
var data2 = data1.split(",") // String 数组
console.log(data2.length)
var data4 = new Array()
// for(var i=0;i<data3.length;i++){
// data4.push(parseInt(data3[i]))
// }
for(var i = (index-1)*2048;i<index*2048;i++){
data4.push(parseInt(data2[i]))
}
// console.log(data4)
var data5 = new Array()
for (var i =0;i<2048;i++){
data5.push(i)
}
// // 指定图表的配置项和数据
var yname = '幅值'
var a = '2'
var b = 'm/'+'s'+a.sup()
console.log(b)
var option = {
title:{
text:'id:5 的时域波形图',
x:'center'
},
grid: { // 图表距离边框的距离,可用百分比和数字(px)配置
top: '20%',
left: '3%',
right: '10%',
bottom: '5%',
containLabel: true
},
tooltip: { // tooltip 用于控制鼠标滑过或点击时的提示框
trigger: 'axis',
axisPointer: { // 坐标轴指示器配置项。
type: 'cross', // 'line' 直线指示器 'shadow' 阴影指示器 'none' 无指示器 'cross' 十字准星指示器。
axis: 'auto', // 指示器的坐标轴。
snap: true, // 坐标轴指示器是否自动吸附到点上
},
showContent: true,
},
toolbox:{
show : true, //是否显示工具栏组件
orient:"horizontal", //工具栏 icon 的布局朝向'horizontal' 'vertical'
itemSize:15, //工具栏 icon 的大小
itemGap:10, //工具栏 icon 每项之间的间隔
},
xAxis: {
type: 'category',
name:'数据点数',
nameLocation:'end',
nameTextStyle:{
fontSize:20,
},
// data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data:data5,
// 设置旋转角度
axisLabel:{
// rotate:30,
interval:500, //设置间距
textStyle:{
fontSize:"18",
fontStyle:'sans-serif',
}
}
},
yAxis: {
name:yname,
nameTextStyle:{
fontSize:20,
},
type: 'value',
axisLabel:{
textStyle:{
fontSize:"18",
fontStyle:'Times New Roman',
}
}
},
series: [
{
// data: [150, 230, 224, 218, 135, 147, 260],
data: data4,
type: 'line',
symbol:'none',
itemStyle: {
normal: {
lineStyle: {
width: 0.5,
color:'rgba(0,0,255)',
},
},
},
}
]
};
// <!-- // 使用刚指定的配置项和数据显示图表。-->
myChart.setOption(option);
}
代码学习
这是一个JavaScript函数postChart(index)
,它使用了ECharts库来绘制时域波形图。函数接受一个index
参数,用于指定数据的索引范围,然后根据索引范围从数据源中获取对应的数据,并绘制相应的图表。
下面对这个函数进行简要的解释:
-
console.log(index)
: 这行代码用于在控制台输出index
的值,用于调试目的。 -
var myChart = echarts.init(document.getElementById('main'),null,{width:1500,height:300});
: 这行代码初始化ECharts图表实例,并指定绘制图表的容器为ID为main
的元素。同时,设置图表的宽度为1500像素,高度为300像素。 -
var data1 = document.getElementById("dataline1").value;
: 这行代码获取ID为dataline1
的元素的值,即原始数据。这里假设dataline1
是一个隐藏的输入框(input type=“hidden”),其值为一串数据。 -
var data2 = data1.split(",")
: 这行代码将原始数据字符串分割为一个字符串数组data2
,每个元素是数据点的值。 -
var data4 = new Array()
: 创建一个空数组data4
,用于存储根据索引范围筛选后的数据点。 -
for(var i = (index-1)*2048; i < index*2048; i++) {...}
: 这个for循环用于根据index
的值,遍历从data2
中选取数据点,并将其转换为整数后,存储到data4
数组中。 -
var data5 = new Array()
: 创建一个空数组data5
,用于存储数据点的索引(数据点数)。 -
for (var i = 0; i < 2048; i++) {...}
: 这个for循环用于生成从0到2047的整数序列,并将它们存储到data5
数组中,用于在X轴上显示数据点数。 -
var option = { ... }
: 定义了ECharts图表的配置项和数据,包括图表标题、坐标轴配置、数据系列等。 -
myChart.setOption(option);
: 使用定义的配置项和数据绘制ECharts图表。
总的来说,这个函数是用于根据给定的索引范围从原始数据中筛选数据,并使用ECharts绘制相应的时域波形图。图表的标题显示了"id:5 的时域波形图",X轴显示数据点数,Y轴显示幅值。图表使用折线图(line)展示数据,并根据给定的索引范围在图表上显示相应的数据点。
具体的不同的data的作用
在这个JavaScript函数postChart(index)
中,有一些用于存储数据的变量data1
、data2
、data4
和data5
,它们分别有不同的作用和含义。
-
var data1 = document.getElementById("dataline1").value;
:- 作用:从HTML页面中获取ID为"dataline1"的元素的值,即原始数据。
- 含义:
data1
是一个包含原始数据的字符串,这个数据通常是一串数字,用逗号分隔。
-
var data2 = data1.split(",");
:- 作用:将原始数据字符串
data1
分割成一个数组data2
,每个数组元素是一个数据点的值。 - 含义:
data2
是一个字符串数组,它包含了所有数据点的值。每个数据点的值都以字符串的形式存储在数组中。
- 作用:将原始数据字符串
-
var data4 = new Array();
:- 作用:创建一个空数组
data4
,用于存储根据索引范围筛选后的数据点。 - 含义:
data4
是一个用于存储绘制图表时显示的数据点的数组。它是根据给定的索引范围从data2
数组中选取的一部分数据点,并将其转换为整数形式存储。
- 作用:创建一个空数组
-
for(var i = (index-1)*2048; i < index*2048; i++) {...}
:- 作用:根据给定的
index
值遍历从data2
中选取数据点,并将其转换为整数后,存储到data4
数组中。 - 含义:这个for循环用于根据
index
的值,从data2
数组中选取特定范围的数据点,并将这些数据点的值转换为整数形式存储到data4
数组中。
- 作用:根据给定的
-
var data5 = new Array();
:- 作用:创建一个空数组
data5
,用于存储数据点的索引(数据点数)。 - 含义:
data5
是一个用于在X轴上显示数据点数的数组。它包含了从0到2047的整数序列,表示数据点的索引,用于在图表上显示横坐标。
- 作用:创建一个空数组
综上所述,这些数据变量在绘制时域波形图时扮演不同的角色:data1
是原始数据的字符串形式,data2
是将原始数据拆分成字符串数组,data4
是根据索引范围筛选后的整数数据点的数组,data5
是用于在X轴上显示数据点数的整数数组。这些数据在构建ECharts图表时提供了必要的数据源。