Skip to content

散点图

下载和安装

TIP

当你不想全部导入所有的图表时请执行以下操作, 安装你想要的图表即可

下载

bash
bun add @v-charts2/scatter
bash
pnpm add @v-charts2/scatter
bash
yarn add @v-charts2/scatter
bash
npm i @v-chart2/scatter

安装

当你当前的打包工具为 webpack 时, 推荐你进行以下的安装步骤

WARNING

传统的 webpack4.x 没有 Tree Shaking 的支持, 如果你想引入 @v-charts2/scatter/vue2 或者 @v-charts2/scatter/vue3 的话, 可能会报错

javascript
import Vue from 'vue'
import VeScatter from '@v-charts2/scatter' // 兼容 vue2.x 和 vue3.x 的支持, 将会自动加载支持 vue2.x 的支持包或者支持 vue3.x 的支持包
Vue.use(VeScatter)

当你当前的打包工具为 vite 或者 rollup 时, 推荐你进行以下的安装步骤

javascript
import Vue from 'vue'
import VeScatter from '@v-charts2/scatter/vue2' // 更好的 Tree Shaking 推荐引入 vue2.x 的专属支持包
import '@v-charts2/scatter/v-charts.css' // 需要手动引入样式
Vue.use(VeScatter)
javascript
import { createApp } from 'vue'
const app = createApp()
import VeScatter from '@v-charts2/scatter/vue3' // 更好的 Tree Shaking 推荐引入 vue3.x 的专属支持包
import '@v-charts2/scatter/v-charts.css' // 需要手动引入样式
app.use(VeScatter)

DEMO

TIP

散点图有两种:单维度多指标散点图和双维度多指标散点图。

单维度多指标散点图示例

横轴为维度(日期), 纵轴为指标(访问用户, 下单用户, 年龄)。

双维度多指标散点图示例

:::

图例和横轴分别为两个维度(地点, 日期), 指标(访问用户, 下单用户, 年龄)展示在 纵轴, 散点大小, visualMap 及 tooltip 中。

其中, metrics 数组的第一项(默认为 columns[1])展示为纵轴, 第二项(默认为 columns[2])展示为散点大小, visualMap 需特殊配置。

visualMap 中的 dimension 属性用于设置数据的哪个指标映射到视觉元素上, 接受的是一个数字, 代表数据的次序, 其中, 数据的排序为 dimension, metrics[0], metrics[1], columns 中的其他指标, 在上图中的次序就是 日期, 访问用户, 下单用户, 年龄, 如果想要将年龄映射到视觉元素上, dimension 的值就是 3。

两种类型的图通过数据格式区分: 单维度多指标散点图的数据格式为:

json
{
  "columns": ["日期", "访问用户", "下单用户", "年龄"],
  "rows": [
    { "日期": "1/1", "访问用户": 123, "年龄": 3, "下单用户": 1244 },
    { "日期": "1/2", "访问用户": 1223, "年龄": 6, "下单用户": 2344 },
    { "日期": "1/3", "访问用户": 7123, "年龄": 9, "下单用户": 3245 },
    { "日期": "1/4", "访问用户": 4123, "年龄": 12, "下单用户": 4355 },
    { "日期": "1/5", "访问用户": 3123, "年龄": 15, "下单用户": 4564 },
    { "日期": "1/6", "访问用户": 2323, "年龄": 20, "下单用户": 6537 }
  ]
}

单维度多指标散点图的数据格式为:

json
{
  "columns": ["日期", "访问用户", "下单用户", "年龄"],
  "rows": {
    "上海": [
      { "日期": "1/1", "访问用户": 123, "年龄": 3, "下单用户": 1244 },
      { "日期": "1/2", "访问用户": 1223, "年龄": 6, "下单用户": 2344 },
      { "日期": "1/3", "访问用户": 7123, "年龄": 9, "下单用户": 3245 },
      { "日期": "1/4", "访问用户": 4123, "年龄": 12, "下单用户": 4355 },
      { "日期": "1/5", "访问用户": 3123, "年龄": 15, "下单用户": 4564 },
      { "日期": "1/6", "访问用户": 2323, "年龄": 20, "下单用户": 6537 }
    ],
    "北京": [
      { "日期": "1/1", "访问用户": 123, "年龄": 3, "下单用户": 1244 },
      { "日期": "1/2", "访问用户": 1273, "年龄": 6, "下单用户": 2344 },
      { "日期": "1/3", "访问用户": 3123, "年龄": 15, "下单用户": 4564 },
      { "日期": "1/4", "访问用户": 2123, "年龄": 9, "下单用户": 3245 },
      { "日期": "1/5", "访问用户": 4103, "年龄": 12, "下单用户": 4355 },
      { "日期": "1/6", "访问用户": 7123, "年龄": 10, "下单用户": 3567 }
    ],
    "广州": [
      { "日期": "1/1", "访问用户": 123, "年龄": 3, "下单用户": 1244 },
      { "日期": "1/2", "访问用户": 1223, "年龄": 6, "下单用户": 2344 },
      { "日期": "1/3", "访问用户": 2123, "年龄": 30, "下单用户": 3245 },
      { "日期": "1/5", "访问用户": 4123, "年龄": 12, "下单用户": 4355 },
      { "日期": "1/4", "访问用户": 5123, "年龄": 18, "下单用户": 4564 },
      { "日期": "1/6", "访问用户": 3843, "年龄": 30, "下单用户": 4850 }
    ]
  }
}

指标维度配置

数据类型配置

属性名配置

缩放配置

散点样式配置

散点出现覆盖时, 提示框可以改成通过坐标轴触发

settings 配置项

配置项简介类型备注
dimension维度string默认 columns[0]
metrics指标array默认 [columns[0], columns[1]]
dataType数据类型object-
xAxisTypex轴类型string可选值: category, value, time, log
xAxisNamex轴标题string-
yAxisNamey轴标题string-
digit设置数据类型为percent时保留的位数number默认为2
labelMap设置指标的别名object-
legendName设置图表上方图例的别名object-
tooltipTrigger提示框的触发方式string可选值: item, axis
axisVisible是否显示坐标轴boolean-
symbolSizeMax气泡最大值number默认为50
symbol标记的图形string内容参考文档
symbolSize标记的大小number, array, Function内容参考文档
symbolRotate标记的旋转角度number内容参考文档
symbolOffset标记相对于原本位置的偏移array内容参考文档
cursor鼠标悬浮时在图形元素上时鼠标的样式string内容参考文档
scale是否是脱离 0 值比例boolean-
miny轴最小值number-
maxy轴最大值number-

Released under the MIT License.