{"record":{"id":"f42bf41e61e74b52","repo":"plotly/plotly.js","slug":"trace-traceout-index-must-match-within-bingroup","errorCode":null,"errorMessage":"Trace <traceOut.index> must match within bingroup <groupName>. Ignoring its bingroup: <bingroupIn> setting.","messagePattern":"Trace <traceOut\\.index> must match within bingroup <groupName>\\. Ignoring its bingroup: <bingroupIn> setting\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/traces/histogram/cross_trace_defaults.js","lineNumber":188,"sourceCode":"        // trace is detected as \"must match\"\n        if(traces.length === 1) {\n            otherTracesList.push(traces[0]);\n            continue;\n        }\n\n        var binGroupFound = false;\n        if(traces.length) {\n            traceOut = traces[0];\n            binGroupFound = coerce('bingroup');\n        }\n\n        groupName = binGroupFound || groupName;\n\n        for(i = 0; i < traces.length; i++) {\n            traceOut = traces[i];\n            var bingroupIn = traceOut._input.bingroup;\n            if(bingroupIn && bingroupIn !== groupName) {\n                Lib.warn([\n                    'Trace', traceOut.index, 'must match',\n                    'within bingroup', groupName + '.',\n                    'Ignoring its bingroup:', bingroupIn, 'setting.'\n                ].join(' '));\n            }\n            traceOut.bingroup = groupName;\n\n            // N.B. no need to worry about 2dMap case\n            // (where both bin direction are set in each trace)\n            // as 2dMap trace never \"have to match\"\n            fillBinOpts(traceOut, groupName, orientation2binDir(traceOut));\n        }\n    }\n\n    // setup binOpts for traces that can but don't have to match,\n    // notice that these traces can be matched with traces that have to match\n    for(i = 0; i < otherTracesList.length; i++) {\n        traceOut = otherTracesList[i];","sourceCodeStart":170,"sourceCodeEnd":206,"githubUrl":"https://github.com/plotly/plotly.js/blob/1d090e0b5ffb8d0fdf6e0e4ff51d3f3cf67f1314/src/traces/histogram/cross_trace_defaults.js#L170-L206","documentation":"Warning from the histogram cross-trace binning pass. When traces are auto-grouped (via autobinning or shared bingroup), the resolved groupName is compared with each trace's explicit layout.bingroup setting; if a trace's declared bingroup differs from the group it actually landed in (because its auto-detected bin options matched another group), the declared bingroup is ignored so binning stays consistent, and this warning tells the user their bingroup setting was overridden.","triggerScenarios":"Thrown at src/traces/histogram/cross_trace_defaults.js:188 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set layout.bingroup consistently across all traces you want binned together (or omit it entirely).","Ensure traces in the intended group have compatible axis types and calendars so auto-grouping agrees with the declared bingroup.","Use matching xbins/ybins settings if you need manual control without bingroup.","Silence by aligning the trace's auto bin group with its declared bingroup name."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1d090e0b5ffb8d0fdf6e0e4ff51d3f3cf67f1314","analyzedAt":"2026-09-02T22:03:39.906Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T02:17:09.455Z"}