code: function validateNativeFormat(data) {
    const firstRow = data[0];
    const firstX = firstRow[0];
    if (typeof firstX !== 'number' && !utils.isDateLike(firstX)) {
      throw new Error(`Expected number or date but got ${typeof firstX}: ${firstX}.`);
    }
    for (let i = 1; i < firstRow.length; i++) {
      const val = firstRow[i];
      if (val === null || val === undefined) continue;
      if (typeof val === 'number') continue;
      if (utils.isArrayLike(val)) continue;  // e.g. error bars or custom bars.
      throw new Error(`Expected number or array but got ${typeof val}: ${val}.`);
    }
  }
docs: In native format, all values must be dates or numbers. This check isn't perfect but will catch most mistaken uses of strings.