diff --git a/change/@fluentui-chart-utilities-05f579ff-0442-42f2-9fc7-46f9f2deda24.json b/change/@fluentui-chart-utilities-05f579ff-0442-42f2-9fc7-46f9f2deda24.json new file mode 100644 index 00000000000000..8a771520097b8a --- /dev/null +++ b/change/@fluentui-chart-utilities-05f579ff-0442-42f2-9fc7-46f9f2deda24.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix(chart-utilities): Enhance logging", + "packageName": "@fluentui/chart-utilities", + "email": "120183316+srmukher@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/charts/chart-utilities/src/PlotlySchemaConverter.ts b/packages/charts/chart-utilities/src/PlotlySchemaConverter.ts index b6777a59f95505..9f78f3825d8ece 100644 --- a/packages/charts/chart-utilities/src/PlotlySchemaConverter.ts +++ b/packages/charts/chart-utilities/src/PlotlySchemaConverter.ts @@ -238,9 +238,16 @@ const validateBarData = (data: Partial) => { } validateSeriesData(data, false); } else if (!isNumberArray(data.y) && !isStringArray(data.y)) { - throw new Error(`Non numeric or string Y values encountered, type: ${typeof data.y}`); + let hierarchyInfo = ''; + if (Array.isArray(data.y) && typeof data.y[0] === 'object' && data.y[0] !== null) { + const numHierarchies = data.y.length; + const hierarchyLengths = data.y.map((obj: any) => (obj && typeof obj === 'object' ? Object.keys(obj).length : 0)); + hierarchyInfo = `; y object hierarchies: ${numHierarchies}; hierarchy lengths: [${hierarchyLengths.join(', ')}]`; + } + throw new Error(`Non numeric or string Y values encountered, type: ${typeof data.y}${hierarchyInfo}`); } }; + const isScatterMarkers = (mode: string): boolean => { return ['markers', 'text+markers', 'markers+text'].includes(mode); };