|
@@ -53,84 +53,85 @@ pub fn export_html(title: &str, symbol: &str, x_values: Vec<Decimal>, y_values:
|
|
|
var option;
|
|
var option;
|
|
|
|
|
|
|
|
option = {
|
|
option = {
|
|
|
- title: {
|
|
|
|
|
- text: '{{chart_title}}'
|
|
|
|
|
- },
|
|
|
|
|
- tooltip: {
|
|
|
|
|
- trigger: 'axis',
|
|
|
|
|
- axisPointer: {
|
|
|
|
|
- type: 'cross',
|
|
|
|
|
- lineStyle: {
|
|
|
|
|
- type: 'dashed',
|
|
|
|
|
- width: 1
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- formatter: function (value) {
|
|
|
|
|
- let time = dayjs(value[0].name *1).format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
|
|
|
- let price = value[0].value;
|
|
|
|
|
- return `时间:${time}<br/>价格:${price}`
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ title: {
|
|
|
|
|
+ text: '{{chart_title}}'
|
|
|
|
|
+ },
|
|
|
|
|
+ tooltip: {
|
|
|
|
|
+ trigger: 'axis',
|
|
|
|
|
+ axisPointer: {
|
|
|
|
|
+ type: 'cross',
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ type: 'dashed',
|
|
|
|
|
+ width: 1
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ formatter: function (value) {
|
|
|
|
|
+ let time = dayjs(value[0].name *1).format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
|
|
|
+ let price = value[0].value;
|
|
|
|
|
+ return `时间:${time}<br/>价格:${price}`
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ toolbox: {
|
|
|
|
|
+ feature: {
|
|
|
|
|
+ brush: {
|
|
|
|
|
+ type: ['rect', 'clear']
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ dataZoom: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type: 'inside',
|
|
|
|
|
+ start: 0,
|
|
|
|
|
+ end: 100
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ start: 0,
|
|
|
|
|
+ end: 100
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ legend: {
|
|
|
|
|
+ data: {{x_values}}
|
|
|
|
|
+ },
|
|
|
|
|
+ xAxis: {
|
|
|
|
|
+ type: 'category',
|
|
|
|
|
+ boundaryGap: false,
|
|
|
|
|
+ data: {{x_values}},
|
|
|
|
|
+ show : false
|
|
|
|
|
+ },
|
|
|
|
|
+ yAxis: {
|
|
|
|
|
+ type: 'value',
|
|
|
|
|
+ boundaryGap: [0, '100%'],
|
|
|
|
|
+ formatter: function (value) {
|
|
|
|
|
+ return dayjs(value[0].name *1).format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ series: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: '价格',
|
|
|
|
|
+ type: 'line',
|
|
|
|
|
+ symbol: 'none',
|
|
|
|
|
+ sampling: 'lttb',
|
|
|
|
|
+ itemStyle: {
|
|
|
|
|
+ color: 'rgb(55, 162, 255)'
|
|
|
},
|
|
},
|
|
|
- toolbox: {
|
|
|
|
|
- feature: {
|
|
|
|
|
- dataZoom: {},
|
|
|
|
|
- brush: {
|
|
|
|
|
- type: ['rect', 'clear']
|
|
|
|
|
|
|
+ areaStyle: {
|
|
|
|
|
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
|
|
+ {
|
|
|
|
|
+ opacity: 0.4,
|
|
|
|
|
+ offset: 0,
|
|
|
|
|
+ color: 'rgb(55, 162, 255)'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ opacity: 0.1,
|
|
|
|
|
+ offset: 1,
|
|
|
|
|
+ color: 'rgb(55, 162, 255)'
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- legend: {
|
|
|
|
|
- data: {{x_values}}
|
|
|
|
|
|
|
+ ])
|
|
|
},
|
|
},
|
|
|
- xAxis: {
|
|
|
|
|
- type: 'category',
|
|
|
|
|
- boundaryGap: false,
|
|
|
|
|
- data: {{x_values}},
|
|
|
|
|
- show : false
|
|
|
|
|
- },
|
|
|
|
|
- yAxis: {
|
|
|
|
|
- type: 'value',
|
|
|
|
|
- boundaryGap: [0, '100%'],
|
|
|
|
|
- formatter: function (value) {
|
|
|
|
|
- return dayjs(value[0].name *1).format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
- dataZoom: [
|
|
|
|
|
- {
|
|
|
|
|
- type: 'inside',
|
|
|
|
|
- start: 0,
|
|
|
|
|
- end: 10
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- start: 0,
|
|
|
|
|
- end: 10
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: '价格',
|
|
|
|
|
- type: 'line',
|
|
|
|
|
- symbol: 'none',
|
|
|
|
|
- sampling: 'lttb',
|
|
|
|
|
- itemStyle: {
|
|
|
|
|
- color: 'rgb(255, 70, 131)'
|
|
|
|
|
- },
|
|
|
|
|
- areaStyle: {
|
|
|
|
|
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
|
|
- {
|
|
|
|
|
- offset: 0,
|
|
|
|
|
- color: 'rgb(255, 158, 68)'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- offset: 1,
|
|
|
|
|
- color: 'rgb(255, 70, 131)'
|
|
|
|
|
- }
|
|
|
|
|
- ])
|
|
|
|
|
- },
|
|
|
|
|
- data: {{y_values}}
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ data: {{y_values}}
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
option && myChart.setOption(option);
|
|
option && myChart.setOption(option);
|
|
|
</script>
|
|
</script>
|
|
@@ -150,5 +151,5 @@ pub fn export_html(title: &str, symbol: &str, x_values: Vec<Decimal>, y_values:
|
|
|
// 将 HTML 写入文件
|
|
// 将 HTML 写入文件
|
|
|
let mut file = File::create(&path).expect("创建文件失败!");
|
|
let mut file = File::create(&path).expect("创建文件失败!");
|
|
|
file.write_all(output.as_bytes()).expect("写入文件到本地失败!");
|
|
file.write_all(output.as_bytes()).expect("写入文件到本地失败!");
|
|
|
- info!("Balance信息网页生成成功!路径:{:?}\n\n", path);
|
|
|
|
|
|
|
+ info!("Analyze信息网页生成成功!路径:{:?}\n\n", path);
|
|
|
}
|
|
}
|