first
This commit is contained in:
224
src/components/HyperSpectralMethod.js
Normal file
224
src/components/HyperSpectralMethod.js
Normal file
@ -0,0 +1,224 @@
|
||||
import { fs, dialog } from '@tauri-apps/api';
|
||||
import * as echarts from 'echarts';
|
||||
import { invoke } from "@tauri-apps/api/tauri";
|
||||
import { exit } from '@tauri-apps/api/process';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
async handlekeydown(event) {
|
||||
|
||||
if (event.code == "Space") {
|
||||
//datatosave 保存
|
||||
console.log(this.datatosave)
|
||||
var data = this.datatosave;
|
||||
var xValues = []
|
||||
|
||||
var yValues = []
|
||||
var lenthofdata = data.length
|
||||
for (var i = 0; i < lenthofdata; i++) {
|
||||
xValues.push(data[i][0]);
|
||||
yValues.push(data[i][1]);
|
||||
}
|
||||
|
||||
var lenth = xValues.length;
|
||||
var strcsv = ""
|
||||
for (var i = 0; i < lenth; i++) {
|
||||
strcsv += xValues[i] + "," + yValues[i] + "\r\n";
|
||||
|
||||
|
||||
}
|
||||
await fs.writeFile(this.Pathtosave, strcsv);
|
||||
// fs.writeFileSync(this.Pathtosave, strcsv);
|
||||
this.nowNumber++;
|
||||
this.Pathtosave = this.pathofdir + "/" + this.Filename + this.nowNumber + ".csv";
|
||||
alert("保存" + this.Pathtosave + "成功")
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
setwavelength(data) {
|
||||
|
||||
this.option.xAxis.max = data.max;
|
||||
this.option.xAxis.min = data.min;
|
||||
|
||||
const chartDom = this.$refs.chart;
|
||||
let chart = echarts.getInstanceByDom(chartDom);
|
||||
chart.setOption(this.option);
|
||||
},
|
||||
plotGraph(data, index) {
|
||||
|
||||
|
||||
|
||||
|
||||
this.option.series[index].data = data;
|
||||
|
||||
const chartDom = this.$refs.chart;
|
||||
|
||||
let chart = echarts.getInstanceByDom(chartDom);
|
||||
chart.setOption(this.option);
|
||||
},
|
||||
setprogressbar(message) {
|
||||
|
||||
if (typeof message === 'undefined') return;
|
||||
if (typeof message === 'object') {
|
||||
if (typeof message.percent === 'undefined') message.percent = this.percent;
|
||||
if (typeof message.info === 'undefined') message.info = this.progressinfo;
|
||||
|
||||
this.percent = message.percent;
|
||||
this.progressinfo = message.info;
|
||||
}
|
||||
|
||||
let percent = this.percent;
|
||||
//如果percent >0 且小于100
|
||||
if (percent > 0 && percent < 100) {
|
||||
this.progressstate = true;
|
||||
} else {
|
||||
this.progressstate = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
},
|
||||
initChart() {
|
||||
const chartDom = this.$refs.chart;
|
||||
// chartDom.style.width = '100%';
|
||||
// chartDom.style.height = '100%';
|
||||
let chart = echarts.init(chartDom,null,{renderer: 'svg'});
|
||||
|
||||
|
||||
this.option = {
|
||||
legend: {
|
||||
data: ['UP', 'DOWN'], // 图例名称
|
||||
show: true,// 显示图例
|
||||
selectedMode: 'multiple', // 图例的选择模式。默认开启图例开关,可选single,multiple
|
||||
},
|
||||
// ECharts 配置选项
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: false,// 显示连续的刻度
|
||||
min: 0,
|
||||
max: 1100,
|
||||
dataZoom: [
|
||||
{
|
||||
type: 'inside', // 内置数据区域缩放
|
||||
start: 0, // 初始缩放范围的起始位置(0%)
|
||||
end: 100 // 初始缩放范围的结束位置(100%)
|
||||
}
|
||||
],
|
||||
triggerEvent: true
|
||||
},
|
||||
animation: false,
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
//min:0,
|
||||
},
|
||||
tooltip:{
|
||||
trigger:'axis',
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
axisPointer: {
|
||||
link: { xAxisIndex: 'all' },
|
||||
label: {
|
||||
backgroundColor: '#777'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '5%',
|
||||
right: '5%',
|
||||
bottom: '5%',
|
||||
top: '5%'
|
||||
},
|
||||
// visualMap: [
|
||||
// {
|
||||
// type: 'continuous',
|
||||
// }
|
||||
// ],
|
||||
dataZoom: [
|
||||
{
|
||||
type: 'slider', // 内置数据区域缩放,包括滚轮缩放
|
||||
xAxisIndex: [0], // 对应 x 轴
|
||||
filterMode: 'none' // 不过滤数据
|
||||
|
||||
},
|
||||
{
|
||||
type: 'slider', // 内置数据区域缩放,包括滚轮缩放
|
||||
yAxisIndex: [0], // 对应 y 轴
|
||||
filterMode: 'none', // 不过滤数据
|
||||
//width :15
|
||||
|
||||
}
|
||||
],
|
||||
|
||||
|
||||
// legend: {
|
||||
// data: ['曲线'], // 图例名称
|
||||
// show: true ,// 显示图例
|
||||
// //selectedMode: 'multiple', // 图例的选择模式。默认开启图例开关,可选single,multiple
|
||||
// },
|
||||
series: [
|
||||
{
|
||||
data: [[1, 150], [2, 230], [3, 224], [4, 218], [5, 135], [6, 147], [7, 260]], // 使用二维数组表示数据点的坐标
|
||||
type: 'line',
|
||||
name: 'UP',
|
||||
symbol: 'none', // 不显示数据点
|
||||
smooth: false, // 不使用平滑处理
|
||||
// step: 'start' // 设置 step 类型的起始位置
|
||||
},
|
||||
{
|
||||
data: [[1, 150], [2, 230], [3, 224], [4, 218], [5, 135], [6, 147], [7, 260]], // 使用二维数组表示数据点的坐标
|
||||
type: 'line',
|
||||
name: 'DOWN',
|
||||
symbol: 'none', // 不显示数据点
|
||||
smooth: false, // 不使用平滑处理
|
||||
//step: 'start' // 设置 step 类型的起始位置
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
|
||||
window.onresize=function () {
|
||||
chart.resize()
|
||||
}
|
||||
chart.setOption(this.option);
|
||||
chart.on('click', function (params) {
|
||||
console.log(params);
|
||||
});
|
||||
chart.on('legendselectchanged', function (params) {
|
||||
console.log(params);
|
||||
});
|
||||
|
||||
chart.on('click', 'series.line', function (params) {
|
||||
console.log(params);
|
||||
});
|
||||
|
||||
chart.on('mouseover', {seriesIndex: 1, name: 'xx'}, function (params) {
|
||||
console.log(params);
|
||||
});
|
||||
//this.echartresize()
|
||||
},
|
||||
echartresize(){
|
||||
console.log("resize")
|
||||
const chartDom = this.$refs.chart;
|
||||
let chart = echarts.getInstanceByDom(chartDom);
|
||||
chart.resize()
|
||||
},
|
||||
|
||||
|
||||
GetSenSorInfo() {
|
||||
var Command = { command: "get_sensor_info" };
|
||||
let data = {
|
||||
data: Command.toString(),
|
||||
datatype: "json"
|
||||
}
|
||||
SerilPort.SendtoPort(data)
|
||||
console.log(SerilPort.ReadData(0x01));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user