@data-ui/histogram
Version:
React + d3 library for creating histograms
36 lines (32 loc) • 1.28 kB
JavaScript
import addDensityAndCumulativeValuesToBins from './addDensityAndCumulativeValuesToBins';
import binNumericData from './binNumericData';
import binCategoricalData from './binCategoricalData';
import collectDataFromChildSeries from './collectDataFromChildSeries';
export default function collectBinnedDataFromChildSeries(_ref) {
var children = _ref.children,
binCount = _ref.binCount,
binType = _ref.binType,
binValues = _ref.binValues,
limits = _ref.limits,
valueAccessor = _ref.valueAccessor;
var _collectDataFromChild = collectDataFromChildSeries(children),
allRawData = _collectDataFromChild.allRawData,
rawDataByIndex = _collectDataFromChild.rawDataByIndex,
binnedDataByIndex = _collectDataFromChild.binnedDataByIndex;
var result = binnedDataByIndex;
if (Object.keys(binnedDataByIndex).length === 0) {
var binningFunc = binType === 'numeric' ? binNumericData : binCategoricalData;
result = binningFunc({
allData: allRawData,
rawDataByIndex: rawDataByIndex,
valueAccessor: valueAccessor,
limits: limits,
binCount: binCount,
binValues: binValues
});
}
Object.values(result).forEach(function (bins) {
addDensityAndCumulativeValuesToBins(bins);
});
return result;
}