| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
- import { ScatterCommonConfig } from './index'
- import { CreateComponentType } from '@/packages/index.d'
- import cloneDeep from 'lodash/cloneDeep'
- import dataJson from './data.json'
- export const includes = ['legend', 'xAxis', 'yAxis', 'grid']
- export const seriesItem = {
- type: 'scatter',
- emphasis: {
- focus: 'series'
- },
- symbolSize: 12,
- markArea: {
- silent: true,
- itemStyle: {
- color: 'transparent',
- borderWidth: 1,
- borderType: 'dashed'
- },
- data: [
- [
- {
- xAxis: 'min',
- yAxis: 'min'
- },
- {
- xAxis: 'max',
- yAxis: 'max'
- }
- ]
- ]
- },
- markPoint: {
- symbol: 'pin',
- symbolSize: 50,
- data: [
- { type: 'max', name: 'Max' },
- { type: 'min', name: 'Min' }
- ]
- }
- }
- export const option = {
- dataset: dataJson,
- tooltip: {
- showDelay: 0,
- formatter: (params: { value: string | any[]; seriesName: string; name: string }) => {
- // console.log(params)
- return params.value.length > 1
- ? `${params.seriesName}:<br />${params.value[0]} ${params.value[1]}`
- : `${params.seriesName}:<br />${params.name} ${params.value}`
- },
- axisPointer: {
- show: true,
- type: 'cross',
- lineStyle: {
- type: 'dashed',
- width: 1
- }
- }
- },
- xAxis: {
- scale: true
- },
- yAxis: {
- scale: true
- },
- series: dataJson.map((item, index) => ({
- ...seriesItem,
- datasetIndex: index
- }))
- }
- export default class Config extends PublicConfigClass implements CreateComponentType {
- public key = ScatterCommonConfig.key
- public chartConfig = cloneDeep(ScatterCommonConfig)
- // 图表配置项
- public option = echartOptionProfixHandle(option, includes)
- }
|