散点图和气泡图常用于展现数据的分布情况。

一、散点图

散点图及气泡图 - 图1
图4-11 Highcharts 散点图

散点图相关的配置参考 API 文档:

1、线图转换成散点图

散点图和直线图的区别是散点图少了点之间的连线,所以只需要隐藏线图的线条即可将线图转换成散点图。

  1. series: [{
  2. type: 'line',
  3. lineWidth: 0,
  4. data: [
  5. [12, 2],
  6. [24, 12]
  7. ]
  8. }]

另外在散点图中,数据是可以是无序的。

2、散点的形状

我们知道在线图中,可以通过 marker 来指定某个数据列的点的形状,也可以标记某个点的形状,marker 里可以指定内置的常用形状,也可以是图片,还可以是自定义的形状。

  1. // 自定义点标志
  2. Highcharts.SVGRenderer.prototype.symbols.cross = function (x, y, w, h) {
  3. return ['M', x, y, 'L', x + w, y + h, 'M', x + w, y, 'L', x, y + h, 'z'];
  4. };
  5. if (Highcharts.VMLRenderer) {
  6. Highcharts.VMLRenderer.prototype.symbols.cross = Highcharts.SVGRenderer.prototype.symbols.cross;
  7. }
  8. series: [{
  9. lineWidth: 0,
  10. marker: {
  11. symbol: 'cross', // 可以是标识名,图片,详细参考例子
  12. radius: 4 // 大小
  13. },
  14. data: [
  15. [12, 2],
  16. [24, 12]
  17. ]
  18. }]

在线试一试

这里还有一个利用 Font Awesome 图标的例子:

二、气泡图

散点图及气泡图 - 图2
图4-12 Highcharts 气泡图

散点图图相关的配置参考 API 文档:

1、气泡图的数据

气泡图的每个气泡包含三个值:x,y,z,其中 x 和 y 用于定位,z 用于计算气泡的大小,数据的定义可以是数组的形式(包含三个元素),也可以是对象的形式,下面是两种方式的实例代码:

数组形式

  1. series: [{
  2. type: 'bubble',
  3. data: [
  4. [1, 2, 10],
  5. [2, 4, 100]
  6. ]
  7. }]

对象形式

  1. series: [{
  2. type: 'bubble',
  3. data: [{
  4. x: 1,
  5. y: 2,
  6. z: 10
  7. }, {
  8. x: 2,
  9. y: 4,
  10. z: 100
  11. }]
  12. }]

2、3D 气泡图

通过渐变颜色我们可以将散点图变成 3D 散点图,详细请参考 在线实例

原文: https://www.hcharts.cn/docs/scatter-and-bubble-chart