Skip to content

Point markers ​

Line and area charts style markers under line.pointMarker / area.pointMarker. Markers render when drawPoints is on for that series (or forced visible on a single point).

Defaults ​

js
line: { // or area: { … }
  drawPoints: true,
  pointMarker: {
    shape: 'circle',
    radius: 3,
    fill: null,          // derive from series color
    stroke: '#ffffff',
    strokeWidth: 1,
    strokeDashArray: '', // '' = solid
    series: {},          // per-series style
    overrides: {},       // per-point style
  },
}
FieldNotes
shapecircle · square · triangle · diamond · cross
radiusSize in px
fillColor, or null to use the series color
strokeBorder color (null also derives from the series)
strokeWidthBorder width (px)
strokeDashArrayBorder dash; '' for solid

Resolution is three-tier: per-point → per-series → global → built-in default.

Per-series style (pointMarker.series) ​

Keys are 0-based series indices (string keys in JSON are fine: "0", "1"). Only set the fields you want to change.

js
line: {
  drawPoints: true,
  pointMarker: {
    shape: 'circle',
    radius: 3,
    fill: null,
    stroke: '#ffffff',
    strokeWidth: 1,
    strokeDashArray: '',
    series: {
      '1': { shape: 'diamond', radius: 5 },
    },
    overrides: {},
  },
}

Turn markers on for one series only via line.overrides / area.overrides (not under pointMarker):

js
line: {
  drawPoints: false,
  overrides: {
    '0': { drawPoints: true },
  },
  pointMarker: { /* … */ },
}

Per-point overrides (pointMarker.overrides) ​

Sparse map: overrides[seriesIndex][columnIndex]. Column indices are 0-based data columns (the category cells in that series row). Only list points you want to change.

js
line: {
  drawPoints: true,
  pointMarker: {
    shape: 'circle',
    radius: 3,
    fill: null,
    stroke: '#ffffff',
    strokeWidth: 1,
    strokeDashArray: '',
    series: {},
    overrides: {
      '0': {
        '2': { shape: 'square', radius: 6, fill: '#c45c26' },
        '5': { visible: false },
      },
    },
  },
}
Override fieldEffect
shape / radius / fill / stroke / strokeWidth / strokeDashArraySame as global
visibleForce show (true) or hide (false) this point, regardless of drawPoints

Hide one point:

js
overrides: {
  '0': { '3': { visible: false } },
}

Emphasize a couple of points:

js
overrides: {
  '0': {
    '2': { radius: 6, stroke: '#0f766e', strokeWidth: 2 },
    '4': { shape: 'triangle', radius: 5 },
  },
}

Live patches ​

line / area bags replace as a whole on setChartData. To add one point override without dropping others, merge client-side:

js
const cd = insight.getChartData();
const pm = cd.line.pointMarker;
const prev = pm.overrides?.['0'] || {};

insight.setChartData({
  line: {
    ...cd.line,
    pointMarker: {
      ...pm,
      overrides: {
        ...pm.overrides,
        '0': {
          ...prev,
          '4': { radius: 6 },
        },
      },
    },
  },
});

For a full upfront chartData object, author the sparse series / overrides maps directly.

Developer documentation for Chartbuddy Embed · Not the end-user Help Center · Help Center