perf: 优化散点图,新增数据mock

This commit is contained in:
奔跑的面条 2022-09-17 21:43:20 +08:00
parent 5c5c0b02df
commit 368ae13db6
24 changed files with 218 additions and 752 deletions

View File

@ -13,6 +13,7 @@ export const rankListUrl = '/mock/rankList'
export const scrollBoardUrl = '/mock/scrollBoard'
export const radarUrl = '/mock/radarData'
export const heatMapUrl = '/mock/heatMapData'
export const scatterBasicUrl = '/mock/scatterBasic'
const mockObject: MockMethod[] = [
{
@ -66,7 +67,12 @@ const mockObject: MockMethod[] = [
url: heatMapUrl,
method: RequestHttpEnum.GET,
response: () => test.fetchHeatmap
}
},
{
url: scatterBasicUrl,
method: RequestHttpEnum.GET,
response: () => test.fetchScatterBasic
},
]
export default mockObject

56
src/api/mock/scatter.json Normal file
View File

@ -0,0 +1,56 @@
[
{
"dimensions": ["data1"],
"source": [
[10.0, "@integer(0, 100)"],
[8.07, "@integer(0, 100)"],
[13.0, "@integer(0, 100)"],
[9.05, "@integer(0, 100)"],
[11.0, "@integer(0, 100)"],
[14.0, "@integer(0, 100)"],
[13.4, "@integer(0, 100)"],
[10.0, "@integer(0, 100)"],
[14.0, "@integer(0, 100)"],
[12.5, "@integer(0, 100)"],
[9.15, "@integer(0, 100)"],
[11.5, "@integer(0, 100)"],
[3.03, "@integer(0, 100)"],
[12.2, "@integer(0, 100)"],
[2.02, "@integer(0, 100)"],
[1.05, "@integer(0, 100)"],
[4.05, "@integer(0, 100)"],
[6.03, "@integer(0, 100)"],
[12.0, "@integer(0, 100)"],
[12.0, "@integer(0, 100)"],
[7.08, "@integer(0, 100)"],
[5.02, "@integer(0, 100)"]
]
},
{
"dimensions": ["data2"],
"source": [
[10.0, "@integer(0, 70)"],
[8.07, "@integer(0, 70)"],
[13.0, "@integer(0, 70)"],
[9.05, "@integer(0, 70)"],
[11.0, "@integer(0, 70)"],
[14.0, "@integer(0, 70)"],
[13.4, "@integer(0, 70)"],
[10.0, "@integer(0, 70)"],
[14.0, "@integer(0, 70)"],
[12.5, "@integer(0, 70)"],
[9.15, "@integer(0, 70)"],
[11.5, "@integer(0, 70)"],
[3.03, "@integer(0, 70)"],
[12.2, "@integer(0, 70)"],
[2.02, "@integer(0, 70)"],
[1.05, "@integer(0, 70)"],
[4.05, "@integer(0, 70)"],
[6.03, "@integer(0, 70)"],
[12.0, "@integer(0, 70)"],
[12.0, "@integer(0, 70)"],
[7.08, "@integer(0, 70)"],
[5.02, "@integer(0, 70)"]
]
}
]

View File

@ -1,4 +1,5 @@
import heatmapJson from './heatMapData.json'
import scatterJson from './scatter.json'
export default {
// 单图表
@ -11,27 +12,27 @@ export default {
source: [
{
product: '@name',
'dataOne|0-900': 3,
'dataOne|0-900': 3
},
{
product: '@name',
'dataOne|0-900': 3,
'dataOne|0-900': 3
},
{
product: '@name',
'dataOne|0-900': 3,
'dataOne|0-900': 3
},
{
product: '@name',
'dataOne|0-900': 3,
'dataOne|0-900': 3
},
{
product: '@name',
'dataOne|0-900': 3,
'dataOne|0-900': 3
},
{
product: '@name',
'dataOne|0-900': 3,
'dataOne|0-900': 3
}
]
}
@ -190,5 +191,12 @@ export default {
status: 200,
msg: '请求成功',
data: heatmapJson
},
// 散点图
fetchScatterBasic: {
code: 0,
status: 200,
msg: '请求成功',
data: scatterJson
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -1,64 +0,0 @@
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
import { ScatterBasicConfig } from './index'
import { CreateComponentType } from '@/packages/index.d'
import cloneDeep from 'lodash/cloneDeep'
import dataJson from './data.json'
export const includes = ['legend', 'xAxis', 'yAxis']
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
}
}
},
legend: {},
xAxis: {
show: true,
type: 'value',
scale: true,
splitLine: {
show: false
}
},
yAxis: {
show: true,
type: 'value',
scale: true,
splitLine: {
show: false
}
},
series: [
{
type: 'scatter',
emphasis: {
focus: 'self'
},
symbolSize: 12
}
]
}
export default class Config extends PublicConfigClass implements CreateComponentType {
public key = ScatterBasicConfig.key
public chartConfig = cloneDeep(ScatterBasicConfig)
// 图表配置项
public option = echartOptionProfixHandle(option, includes)
}

View File

@ -1,32 +0,0 @@
<!-- eslint-disable vue/no-mutating-props -->
<template>
<!-- Echarts 全局设置 -->
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
<CollapseItem :name="`散点`" expanded v-for="(item, index) in optionData.series" :key="index">
<SettingItemBox name="样式">
<SettingItem name="类型">
<n-select v-model:value="item.type" size="small" :options="ScatterEffectTypeEnumList" placeholder="选择" />
</SettingItem>
<SettingItem name="大小">
<n-input-number v-model:value="item.symbolSize" size="small" :min="1"></n-input-number>
</SettingItem>
</SettingItemBox>
</CollapseItem>
</template>
<script setup lang="ts">
import { PropType } from 'vue'
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
import { GlobalSetting, CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
import { option } from './config'
import { ScatterEffectTypeEnumList } from '../shard'
// eslint-disable-next-line no-unused-vars
const props = defineProps({
optionData: {
type: Object as PropType<GlobalThemeJsonType & typeof option>,
required: true
}
})
</script>

View File

@ -1,27 +0,0 @@
{
"dimensions": ["data1"],
"source": [
[10.0, 8.04],
[8.07, 6.95],
[13.0, 7.58],
[9.05, 8.81],
[11.0, 8.33],
[14.0, 7.66],
[13.4, 6.81],
[10.0, 6.33],
[14.0, 8.96],
[12.5, 6.82],
[9.15, 7.2],
[11.5, 7.2],
[3.03, 4.23],
[12.2, 7.83],
[2.02, 4.47],
[1.05, 3.33],
[4.05, 4.96],
[6.03, 7.24],
[12.0, 6.26],
[12.0, 8.84],
[7.08, 5.82],
[5.02, 5.68]
]
}

View File

@ -1,48 +0,0 @@
<template>
<v-chart ref="vChartRef" :theme="themeColor" :option="option" :manual-update="isPreview()" autoresize> </v-chart>
</template>
<script setup lang="ts">
import { PropType, computed } from 'vue'
import VChart from 'vue-echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { ScatterChart, EffectScatterChart } from 'echarts/charts'
import config, { includes } from './config'
import { mergeTheme } from '@/packages/public/chart'
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
import { useChartDataFetch } from '@/hooks'
import { isPreview } from '@/utils'
import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent } from 'echarts/components'
const props = defineProps({
themeSetting: {
type: Object,
required: true
},
themeColor: {
type: Object,
required: true
},
chartConfig: {
type: Object as PropType<config>,
required: true
}
})
use([
DatasetComponent,
CanvasRenderer,
ScatterChart,
EffectScatterChart,
GridComponent,
TooltipComponent,
LegendComponent
])
const option = computed(() => {
return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
})
const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore)
</script>

View File

@ -1,5 +1,5 @@
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
import { ScatterMuitDataConfig } from './index'
import { ScatterCommonConfig } from './index'
import { CreateComponentType } from '@/packages/index.d'
import cloneDeep from 'lodash/cloneDeep'
import dataJson from './data.json'
@ -12,7 +12,6 @@ export const seriesItem = {
focus: 'series'
},
symbolSize: 12,
markArea: {
silent: true,
itemStyle: {
@ -33,7 +32,6 @@ export const seriesItem = {
]
]
},
markPoint: {
symbol: 'pin',
symbolSize: 50,
@ -46,7 +44,6 @@ export const seriesItem = {
export const option = {
dataset: dataJson,
tooltip: {
showDelay: 0,
formatter: (params: { value: string | any[]; seriesName: string; name: string }) => {
@ -64,25 +61,12 @@ export const option = {
}
}
},
legend: {},
xAxis: {
type: 'value',
scale: true,
splitLine: {
show: false
}
scale: true
},
yAxis: {
type: 'value',
scale: true,
splitLine: {
show: false
}
scale: true
},
series: dataJson.map((item, index) => ({
...seriesItem,
datasetIndex: index
@ -90,8 +74,8 @@ export const option = {
}
export default class Config extends PublicConfigClass implements CreateComponentType {
public key = ScatterMuitDataConfig.key
public chartConfig = cloneDeep(ScatterMuitDataConfig)
public key = ScatterCommonConfig.key
public chartConfig = cloneDeep(ScatterCommonConfig)
// 图表配置项
public option = echartOptionProfixHandle(option, includes)
}

View File

@ -0,0 +1,110 @@
[
{
"dimensions": ["data1"],
"source": [
[161.2, 51.6],
[167.5, 59.0],
[159.5, 49.2],
[157.0, 63.0],
[155.8, 53.6],
[170.0, 59.0],
[159.1, 47.6],
[166.0, 69.8],
[176.2, 66.8],
[160.2, 75.2],
[172.5, 55.2],
[170.9, 54.2],
[172.9, 62.5],
[153.4, 42.0],
[160.0, 50.0],
[147.2, 49.8],
[168.2, 49.2],
[175.0, 73.2],
[157.0, 47.8],
[170.2, 72.8],
[174.0, 54.5],
[173.0, 59.8],
[179.9, 67.3],
[170.5, 67.8],
[160.0, 47.0],
[154.4, 46.2],
[162.0, 55.0],
[176.5, 83.0],
[160.0, 54.4],
[152.0, 45.8],
[162.1, 53.6],
[170.0, 73.2],
[160.2, 52.1],
[161.3, 67.9],
[166.4, 56.6],
[168.9, 62.3],
[163.8, 58.5],
[167.6, 54.5],
[160.0, 50.2],
[161.3, 60.3],
[167.6, 58.3],
[165.1, 56.2],
[160.0, 50.2],
[170.0, 72.9],
[157.5, 59.8],
[167.6, 61.0],
[160.7, 69.1],
[163.2, 55.9],
[152.4, 46.5],
[157.5, 54.3],
[168.3, 54.8],
[180.3, 60.7],
[165.5, 60.0],
[165.0, 62.0],
[164.5, 60.3],
[156.0, 52.7],
[160.0, 74.3]
]
},
{
"dimensions": ["data2"],
"source": [
[174.0, 65.6],
[175.3, 71.8],
[193.5, 80.7],
[186.5, 72.6],
[187.2, 78.8],
[181.5, 74.8],
[184.0, 86.4],
[184.5, 78.4],
[175.0, 62.0],
[184.0, 81.6],
[180.0, 76.6],
[177.8, 83.6],
[192.0, 90.0],
[176.0, 74.6],
[174.0, 71.0],
[184.0, 79.6],
[192.7, 93.8],
[142.7, 93.8],
[152.7, 93.8],
[170.0, 61.3],
[177.8, 68.6],
[184.2, 80.1],
[186.7, 87.8],
[171.4, 84.7],
[172.7, 73.4],
[175.3, 72.1],
[180.3, 82.6],
[182.9, 88.7],
[188.0, 84.1],
[177.2, 94.1],
[172.1, 74.9],
[167.0, 59.1],
[169.5, 75.6],
[174.0, 86.2],
[172.7, 75.3],
[182.2, 87.1],
[164.1, 55.2],
[163.0, 57.0],
[171.5, 61.4],
[184.2, 76.8],
[174.0, 86.8]
]
}
]

View File

@ -1,12 +1,12 @@
import image from '@/assets/images/chart/charts/point.png'
import image from '@/assets/images/chart/charts/scatter-multi.png'
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
export const ScatterBasicConfig: ConfigType = {
key: 'ScatterBasic',
chartKey: 'VScatterBasic',
conKey: 'VCScatterBasic',
title: '基础散点图',
export const ScatterCommonConfig: ConfigType = {
key: 'ScatterCommon',
chartKey: 'VScatterCommon',
conKey: 'VCScatterCommon',
title: '散点图',
category: ChatCategoryEnum.SCATTER,
categoryName: ChatCategoryEnumName.SCATTER,
package: PackagesCategoryEnum.CHARTS,

View File

@ -1,5 +1,5 @@
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
import { SScatterLogarithmicRegressionConfig } from './index'
import { ScatterLogarithmicRegressionConfig } from './index'
import { CreateComponentType } from '@/packages/index.d'
import cloneDeep from 'lodash/cloneDeep'
import dataJson from './data.json'
@ -86,8 +86,8 @@ export const option = {
}
export default class Config extends PublicConfigClass implements CreateComponentType {
public key = SScatterLogarithmicRegressionConfig.key
public chartConfig = cloneDeep(SScatterLogarithmicRegressionConfig)
public key = ScatterLogarithmicRegressionConfig.key
public chartConfig = cloneDeep(ScatterLogarithmicRegressionConfig)
// 图表配置项
public option = echartOptionProfixHandle(option, includes)
}

View File

@ -1,8 +1,8 @@
import image from '@/assets/images/chart/charts/point.png'
import image from '@/assets/images/chart/charts/scatter-logarithmic-regression.png'
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
export const SScatterLogarithmicRegressionConfig: ConfigType = {
export const ScatterLogarithmicRegressionConfig: ConfigType = {
key: 'ScatterLogarithmicRegression',
chartKey: 'VScatterLogarithmicRegression',
conKey: 'VCScatterLogarithmicRegression',

View File

@ -1,519 +0,0 @@
[
{
"dimensions": ["data1"],
"source": [
[161.2, 51.6],
[167.5, 59.0],
[159.5, 49.2],
[157.0, 63.0],
[155.8, 53.6],
[170.0, 59.0],
[159.1, 47.6],
[166.0, 69.8],
[176.2, 66.8],
[160.2, 75.2],
[172.5, 55.2],
[170.9, 54.2],
[172.9, 62.5],
[153.4, 42.0],
[160.0, 50.0],
[147.2, 49.8],
[168.2, 49.2],
[175.0, 73.2],
[157.0, 47.8],
[167.6, 68.8],
[159.5, 50.6],
[175.0, 82.5],
[166.8, 57.2],
[176.5, 87.8],
[170.2, 72.8],
[174.0, 54.5],
[173.0, 59.8],
[179.9, 67.3],
[170.5, 67.8],
[160.0, 47.0],
[154.4, 46.2],
[162.0, 55.0],
[176.5, 83.0],
[160.0, 54.4],
[152.0, 45.8],
[162.1, 53.6],
[170.0, 73.2],
[160.2, 52.1],
[161.3, 67.9],
[166.4, 56.6],
[168.9, 62.3],
[163.8, 58.5],
[167.6, 54.5],
[160.0, 50.2],
[161.3, 60.3],
[167.6, 58.3],
[165.1, 56.2],
[160.0, 50.2],
[170.0, 72.9],
[157.5, 59.8],
[167.6, 61.0],
[160.7, 69.1],
[163.2, 55.9],
[152.4, 46.5],
[157.5, 54.3],
[168.3, 54.8],
[180.3, 60.7],
[165.5, 60.0],
[165.0, 62.0],
[164.5, 60.3],
[156.0, 52.7],
[160.0, 74.3],
[163.0, 62.0],
[165.7, 73.1],
[161.0, 80.0],
[162.0, 54.7],
[166.0, 53.2],
[174.0, 75.7],
[172.7, 61.1],
[167.6, 55.7],
[151.1, 48.7],
[164.5, 52.3],
[163.5, 50.0],
[152.0, 59.3],
[169.0, 62.5],
[164.0, 55.7],
[161.2, 54.8],
[155.0, 45.9],
[170.0, 70.6],
[176.2, 67.2],
[170.0, 69.4],
[162.5, 58.2],
[170.3, 64.8],
[164.1, 71.6],
[169.5, 52.8],
[163.2, 59.8],
[154.5, 49.0],
[159.8, 50.0],
[173.2, 69.2],
[170.0, 55.9],
[161.4, 63.4],
[169.0, 58.2],
[166.2, 58.6],
[159.4, 45.7],
[162.5, 52.2],
[159.0, 48.6],
[162.8, 57.8],
[159.0, 55.6],
[179.8, 66.8],
[162.9, 59.4],
[161.0, 53.6],
[151.1, 73.2],
[168.2, 53.4],
[168.9, 69.0],
[173.2, 58.4],
[171.8, 56.2],
[178.0, 70.6],
[164.3, 59.8],
[163.0, 72.0],
[168.5, 65.2],
[166.8, 56.6],
[172.7, 105.2],
[163.5, 51.8],
[169.4, 63.4],
[167.8, 59.0],
[159.5, 47.6],
[167.6, 63.0],
[161.2, 55.2],
[160.0, 45.0],
[163.2, 54.0],
[162.2, 50.2],
[161.3, 60.2],
[149.5, 44.8],
[157.5, 58.8],
[163.2, 56.4],
[172.7, 62.0],
[155.0, 49.2],
[156.5, 67.2],
[164.0, 53.8],
[160.9, 54.4],
[162.8, 58.0],
[167.0, 59.8],
[160.0, 54.8],
[160.0, 43.2],
[168.9, 60.5],
[158.2, 46.4],
[156.0, 64.4],
[160.0, 48.8],
[167.1, 62.2],
[158.0, 55.5],
[167.6, 57.8],
[156.0, 54.6],
[162.1, 59.2],
[173.4, 52.7],
[159.8, 53.2],
[170.5, 64.5],
[159.2, 51.8],
[157.5, 56.0],
[161.3, 63.6],
[162.6, 63.2],
[160.0, 59.5],
[168.9, 56.8],
[165.1, 64.1],
[162.6, 50.0],
[165.1, 72.3],
[166.4, 55.0],
[160.0, 55.9],
[152.4, 60.4],
[170.2, 69.1],
[162.6, 84.5],
[170.2, 55.9],
[158.8, 55.5],
[172.7, 69.5],
[167.6, 76.4],
[162.6, 61.4],
[167.6, 65.9],
[156.2, 58.6],
[175.2, 66.8],
[172.1, 56.6],
[162.6, 58.6],
[160.0, 55.9],
[165.1, 59.1],
[182.9, 81.8],
[166.4, 70.7],
[165.1, 56.8],
[177.8, 60.0],
[165.1, 58.2],
[175.3, 72.7],
[154.9, 54.1],
[158.8, 49.1],
[172.7, 75.9],
[168.9, 55.0],
[161.3, 57.3],
[167.6, 55.0],
[165.1, 65.5],
[175.3, 65.5],
[157.5, 48.6],
[163.8, 58.6],
[167.6, 63.6],
[165.1, 55.2],
[165.1, 62.7],
[168.9, 56.6],
[162.6, 53.9],
[164.5, 63.2],
[176.5, 73.6],
[168.9, 62.0],
[175.3, 63.6],
[159.4, 53.2],
[160.0, 53.4],
[170.2, 55.0],
[162.6, 70.5],
[167.6, 54.5],
[162.6, 54.5],
[160.7, 55.9],
[160.0, 59.0],
[157.5, 63.6],
[162.6, 54.5],
[152.4, 47.3],
[170.2, 67.7],
[165.1, 80.9],
[172.7, 70.5],
[165.1, 60.9],
[170.2, 63.6],
[170.2, 54.5],
[170.2, 59.1],
[161.3, 70.5],
[167.6, 52.7],
[167.6, 62.7],
[165.1, 86.3],
[162.6, 66.4],
[152.4, 67.3],
[168.9, 63.0],
[170.2, 73.6],
[175.2, 62.3],
[175.2, 57.7],
[160.0, 55.4],
[165.1, 104.1],
[174.0, 55.5],
[170.2, 77.3],
[160.0, 80.5],
[167.6, 64.5],
[167.6, 72.3],
[167.6, 61.4],
[154.9, 58.2],
[162.6, 81.8],
[175.3, 63.6],
[171.4, 53.4],
[157.5, 54.5],
[165.1, 53.6],
[160.0, 60.0],
[174.0, 73.6],
[162.6, 61.4],
[174.0, 55.5],
[162.6, 63.6],
[161.3, 60.9],
[156.2, 60.0],
[149.9, 46.8],
[169.5, 57.3],
[160.0, 64.1],
[175.3, 63.6],
[169.5, 67.3],
[160.0, 75.5],
[172.7, 68.2],
[162.6, 61.4],
[157.5, 76.8],
[176.5, 71.8],
[164.4, 55.5],
[160.7, 48.6],
[174.0, 66.4],
[163.8, 67.3]
]
},
{
"dimensions": ["data2"],
"source": [
[174.0, 65.6],
[175.3, 71.8],
[193.5, 80.7],
[186.5, 72.6],
[187.2, 78.8],
[181.5, 74.8],
[184.0, 86.4],
[184.5, 78.4],
[175.0, 62.0],
[184.0, 81.6],
[180.0, 76.6],
[177.8, 83.6],
[192.0, 90.0],
[176.0, 74.6],
[174.0, 71.0],
[184.0, 79.6],
[192.7, 93.8],
[171.5, 70.0],
[173.0, 72.4],
[176.0, 85.9],
[176.0, 78.8],
[180.5, 77.8],
[172.7, 66.2],
[176.0, 86.4],
[173.5, 81.8],
[178.0, 89.6],
[180.3, 82.8],
[180.3, 76.4],
[164.5, 63.2],
[173.0, 60.9],
[183.5, 74.8],
[175.5, 70.0],
[188.0, 72.4],
[189.2, 84.1],
[172.8, 69.1],
[170.0, 59.5],
[182.0, 67.2],
[170.0, 61.3],
[177.8, 68.6],
[184.2, 80.1],
[186.7, 87.8],
[171.4, 84.7],
[172.7, 73.4],
[175.3, 72.1],
[180.3, 82.6],
[182.9, 88.7],
[188.0, 84.1],
[177.2, 94.1],
[172.1, 74.9],
[167.0, 59.1],
[169.5, 75.6],
[174.0, 86.2],
[172.7, 75.3],
[182.2, 87.1],
[164.1, 55.2],
[163.0, 57.0],
[171.5, 61.4],
[184.2, 76.8],
[174.0, 86.8],
[174.0, 72.2],
[177.0, 71.6],
[186.0, 84.8],
[167.0, 68.2],
[171.8, 66.1],
[182.0, 72.0],
[167.0, 64.6],
[177.8, 74.8],
[164.5, 70.0],
[192.0, 101.6],
[175.5, 63.2],
[171.2, 79.1],
[181.6, 78.9],
[167.4, 67.7],
[181.1, 66.0],
[177.0, 68.2],
[174.5, 63.9],
[177.5, 72.0],
[170.5, 56.8],
[182.4, 74.5],
[197.1, 90.9],
[180.1, 93.0],
[175.5, 80.9],
[180.6, 72.7],
[184.4, 68.0],
[175.5, 70.9],
[180.6, 72.5],
[177.0, 72.5],
[177.1, 83.4],
[181.6, 75.5],
[176.5, 73.0],
[175.0, 70.2],
[174.0, 73.4],
[165.1, 70.5],
[177.0, 68.9],
[192.0, 102.3],
[176.5, 68.4],
[169.4, 65.9],
[182.1, 75.7],
[179.8, 84.5],
[175.3, 87.7],
[184.9, 86.4],
[177.3, 73.2],
[167.4, 53.9],
[178.1, 72.0],
[168.9, 55.5],
[157.2, 58.4],
[180.3, 83.2],
[170.2, 72.7],
[177.8, 64.1],
[172.7, 72.3],
[165.1, 65.0],
[186.7, 86.4],
[165.1, 65.0],
[174.0, 88.6],
[175.3, 84.1],
[185.4, 66.8],
[177.8, 75.5],
[180.3, 93.2],
[180.3, 82.7],
[177.8, 58.0],
[177.8, 79.5],
[177.8, 78.6],
[177.8, 71.8],
[177.8, 116.4],
[163.8, 72.2],
[188.0, 83.6],
[198.1, 85.5],
[175.3, 90.9],
[166.4, 85.9],
[190.5, 89.1],
[166.4, 75.0],
[177.8, 77.7],
[179.7, 86.4],
[172.7, 90.9],
[190.5, 73.6],
[185.4, 76.4],
[168.9, 69.1],
[167.6, 84.5],
[175.3, 64.5],
[170.2, 69.1],
[190.5, 108.6],
[177.8, 86.4],
[190.5, 80.9],
[177.8, 87.7],
[184.2, 94.5],
[176.5, 80.2],
[177.8, 72.0],
[180.3, 71.4],
[171.4, 72.7],
[172.7, 84.1],
[172.7, 76.8],
[177.8, 63.6],
[177.8, 80.9],
[182.9, 80.9],
[170.2, 85.5],
[167.6, 68.6],
[175.3, 67.7],
[165.1, 66.4],
[185.4, 102.3],
[181.6, 70.5],
[172.7, 95.9],
[190.5, 84.1],
[179.1, 87.3],
[175.3, 71.8],
[170.2, 65.9],
[193.0, 95.9],
[171.4, 91.4],
[177.8, 81.8],
[177.8, 96.8],
[167.6, 69.1],
[167.6, 82.7],
[180.3, 75.5],
[182.9, 79.5],
[176.5, 73.6],
[186.7, 91.8],
[188.0, 84.1],
[188.0, 85.9],
[177.8, 81.8],
[174.0, 82.5],
[177.8, 80.5],
[171.4, 70.0],
[185.4, 81.8],
[185.4, 84.1],
[188.0, 90.5],
[188.0, 91.4],
[182.9, 89.1],
[176.5, 85.0],
[175.3, 69.1],
[175.3, 73.6],
[188.0, 80.5],
[188.0, 82.7],
[175.3, 86.4],
[170.5, 67.7],
[179.1, 92.7],
[177.8, 93.6],
[175.3, 70.9],
[182.9, 75.0],
[170.8, 93.2],
[188.0, 93.2],
[180.3, 77.7],
[177.8, 61.4],
[185.4, 94.1],
[168.9, 75.0],
[185.4, 83.6],
[180.3, 85.5],
[174.0, 73.9],
[167.6, 66.8],
[182.9, 87.3],
[160.0, 72.3],
[180.3, 88.6],
[167.6, 75.5],
[186.7, 101.4],
[175.3, 91.1],
[175.3, 67.3],
[175.9, 77.7],
[175.3, 81.8],
[179.1, 75.5],
[181.6, 84.5],
[177.8, 76.6],
[182.9, 85.0],
[177.8, 102.5],
[184.2, 77.3],
[179.1, 71.8],
[176.5, 87.9],
[188.0, 94.3],
[174.0, 70.9],
[167.6, 64.5],
[170.2, 77.3],
[167.6, 72.3],
[188.0, 87.3],
[174.0, 80.0],
[176.5, 82.3],
[180.3, 73.6],
[167.6, 74.1],
[188.0, 85.9],
[180.3, 73.2],
[167.6, 76.3],
[183.0, 65.9],
[183.0, 90.9],
[179.1, 89.1],
[170.2, 62.3],
[177.8, 82.7],
[179.1, 79.1],
[190.5, 98.2],
[177.8, 84.1],
[180.3, 83.2],
[180.3, 83.2]
]
}
]

View File

@ -1,15 +0,0 @@
import image from '@/assets/images/chart/charts/point.png'
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
export const ScatterMuitDataConfig: ConfigType = {
key: 'ScatterMuitData',
chartKey: 'VScatterMuitData',
conKey: 'VCScatterMuitData',
title: '多数据散点图',
category: ChatCategoryEnum.SCATTER,
categoryName: ChatCategoryEnumName.SCATTER,
package: PackagesCategoryEnum.CHARTS,
chartFrame: ChartFrameEnum.ECHARTS,
image
}

View File

@ -1,5 +1,4 @@
import { ScatterBasicConfig } from './ScatterBasic/index'
import { ScatterMuitDataConfig } from './ScatterMuitData/index'
import { SScatterLogarithmicRegressionConfig as ScatterLogarithmicRegressionConfig } from './ScatterLogarithmicRegression/index'
import { ScatterCommonConfig } from './ScatterCommon/index'
import { ScatterLogarithmicRegressionConfig } from './ScatterLogarithmicRegression/index'
export default [ScatterBasicConfig, ScatterMuitDataConfig, ScatterLogarithmicRegressionConfig]
export default [ScatterCommonConfig, ScatterLogarithmicRegressionConfig]

View File

@ -5,4 +5,4 @@ import Scatters from './Scatters'
import Mores from './Mores'
import Maps from './Maps'
export const ChartList = [...Bars, ...Pies, ...Lines, ...Scatters, ...Maps, ...Mores]
export const ChartList = [...Bars, ...Lines, ...Pies, ...Scatters, ...Maps, ...Mores]

View File

@ -88,7 +88,7 @@ import { ChartDataMonacoEditor } from '../ChartDataMonacoEditor'
import { useFile } from '../../hooks/useFile.hooks'
import { useTargetData } from '../../../hooks/useTargetData.hook'
import isObject from 'lodash/isObject'
import { toString } from '@/utils'
import { toString, isArray } from '@/utils'
const { targetData } = useTargetData()
const props = defineProps({
@ -182,6 +182,9 @@ watch(
} else {
source.value = '此组件无数据源'
}
if (isArray(newData)) {
dimensionsAndSource.value = null
}
},
{
immediate: true

View File

@ -72,7 +72,9 @@ import {
textUrl,
imageUrl,
radarUrl,
heatMapUrl
heatMapUrl,
scatterBasicUrl
} from '@/api/mock'
const { HelpOutlineIcon } = icon.ionicons5
@ -110,7 +112,10 @@ const apiList = [
},
{
value: `【热力图】${heatMapUrl}`
}
},
{
value: `【基础散点图】${scatterBasicUrl}`
},
]
</script>