2022-09-15 12:07:01 +08:00
|
|
|
|
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
|
2022-09-17 21:43:20 +08:00
|
|
|
|
import { ScatterLogarithmicRegressionConfig } from './index'
|
2022-09-15 12:07:01 +08:00
|
|
|
|
import { CreateComponentType } from '@/packages/index.d'
|
|
|
|
|
import cloneDeep from 'lodash/cloneDeep'
|
|
|
|
|
import dataJson from './data.json'
|
|
|
|
|
|
2022-10-15 16:51:16 +08:00
|
|
|
|
export const includes = ['legend', 'xAxis', 'yAxis', 'grid']
|
2022-09-15 12:07:01 +08:00
|
|
|
|
|
|
|
|
|
export const option = {
|
|
|
|
|
dataset: dataJson,
|
|
|
|
|
|
|
|
|
|
tooltip: {
|
|
|
|
|
showDelay: 0,
|
2022-09-16 08:41:27 +08:00
|
|
|
|
formatter: (params: { value: string | any[]; seriesName: string; name: string }) => {
|
2022-09-16 09:46:49 +08:00
|
|
|
|
// console.log(params)
|
2022-09-16 08:41:27 +08:00
|
|
|
|
return params.value.length > 1
|
|
|
|
|
? `${params.seriesName}:<br />${params.value[0]} ${params.value[1]}`
|
|
|
|
|
: `${params.seriesName}:<br />${params.name} ${params.value}`
|
|
|
|
|
},
|
2022-09-15 12:07:01 +08:00
|
|
|
|
axisPointer: {
|
|
|
|
|
show: true,
|
|
|
|
|
type: 'cross',
|
|
|
|
|
lineStyle: {
|
|
|
|
|
type: 'dashed',
|
|
|
|
|
width: 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
legend: {
|
|
|
|
|
data: dataJson
|
|
|
|
|
.filter(i => i?.transform?.type === 'filter' && i?.transform?.config?.eq)
|
2022-09-15 18:41:17 +08:00
|
|
|
|
.map(i => i.transform?.config?.eq?.toString())
|
2022-09-15 12:07:01 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
xAxis: {
|
|
|
|
|
show: true,
|
|
|
|
|
type: 'value',
|
|
|
|
|
splitLine: {
|
|
|
|
|
lineStyle: {
|
|
|
|
|
type: 'dashed'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
show: true,
|
|
|
|
|
type: 'value',
|
|
|
|
|
splitLine: {
|
|
|
|
|
lineStyle: {
|
|
|
|
|
type: 'dashed'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
visualMap: {
|
|
|
|
|
show: false,
|
|
|
|
|
dimension: 2,
|
|
|
|
|
min: 20000,
|
|
|
|
|
max: 1500000000,
|
|
|
|
|
seriesIndex: [0, 1],
|
|
|
|
|
inRange: {
|
|
|
|
|
symbolSize: [10, 70]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
type: 'scatter',
|
|
|
|
|
datasetIndex: 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'scatter',
|
|
|
|
|
datasetIndex: 2
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'line',
|
|
|
|
|
smooth: true,
|
|
|
|
|
datasetIndex: 3,
|
|
|
|
|
symbolSize: 0.1,
|
|
|
|
|
symbol: 'circle',
|
|
|
|
|
label: { show: true, fontSize: 16 },
|
|
|
|
|
labelLayout: { dx: -20 },
|
|
|
|
|
encode: { label: 2, tooltip: 1 }
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default class Config extends PublicConfigClass implements CreateComponentType {
|
2022-09-17 21:43:20 +08:00
|
|
|
|
public key = ScatterLogarithmicRegressionConfig.key
|
|
|
|
|
public chartConfig = cloneDeep(ScatterLogarithmicRegressionConfig)
|
2022-09-15 12:07:01 +08:00
|
|
|
|
// 图表配置项
|
|
|
|
|
public option = echartOptionProfixHandle(option, includes)
|
|
|
|
|
}
|