code: function (options, redraw, animation, runEvent) {
              var point = this,
                series = point.series,
                graphic = point.graphic,
                i,
                chart = series.chart,
                seriesOptions = series.options;
  
              redraw = pick(redraw, true);
  
              function update() {
  
                  point.applyOptions(options);
  
                  // Update visuals
                  if (isObject(options) && !isArray(options)) {
                      // Defer the actual redraw until getAttribs has been called (#3260)
                      point.redraw = function () {
                          if (graphic) {
                              if (options && options.marker && options.marker.symbol) {
                                  point.graphic = graphic.destroy();
                              } else {
                                  graphic.attr(point.pointAttr[point.state || '']);
                              }
                          }
                          if (options && options.dataLabels && point.dataLabel) { // #2468
                              point.dataLabel = point.dataLabel.destroy();
                          }
                          point.redraw = null;
                      };
                  }
  
                  // record changes in the parallel arrays
                  i = point.index;
                  series.updateParallelArrays(point, i);
  
                  seriesOptions.data[i] = point.options;
  
                  // redraw
                  series.isDirty = series.isDirtyData = true;
                  if (!series.fixedBox && series.hasCartesianSeries) { // #1906, #2320
                      chart.isDirtyBox = true;
                  }
  
                  if (seriesOptions.legendType === 'point') { // #1831, #1885
                      chart.legend.destroyItem(point);
                  }
                  if (redraw) {
                      chart.redraw(animation);
                  }
              }
  
              // Fire the event with a default handler of doing the update
              if (runEvent === false) { // When called from setData
                  update();
              } else {
                  point.firePointEvent('update', { options: options }, update);
              }
          }
docs: Update the point with new options (typically x/y data) and optionally redraw the series.
  
  @param {Object} options Point options as defined in the series.data array
  @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call
  @param {Boolean|Object} animation Whether to apply animation, and optionally animation
  configuration