@data-ui/histogram
Version:
React + d3 library for creating histograms
47 lines (36 loc) • 1.62 kB
JavaScript
;
exports.__esModule = true;
exports.default = collectBinnedDataFromChildSeries;
var _addDensityAndCumulativeValuesToBins = _interopRequireDefault(require("./addDensityAndCumulativeValuesToBins"));
var _binNumericData = _interopRequireDefault(require("./binNumericData"));
var _binCategoricalData = _interopRequireDefault(require("./binCategoricalData"));
var _collectDataFromChildSeries = _interopRequireDefault(require("./collectDataFromChildSeries"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function collectBinnedDataFromChildSeries(_ref) {
var children = _ref.children,
binCount = _ref.binCount,
binType = _ref.binType,
binValues = _ref.binValues,
limits = _ref.limits,
valueAccessor = _ref.valueAccessor;
var _collectDataFromChild = (0, _collectDataFromChildSeries.default)(children),
allRawData = _collectDataFromChild.allRawData,
rawDataByIndex = _collectDataFromChild.rawDataByIndex,
binnedDataByIndex = _collectDataFromChild.binnedDataByIndex;
var result = binnedDataByIndex;
if (Object.keys(binnedDataByIndex).length === 0) {
var binningFunc = binType === 'numeric' ? _binNumericData.default : _binCategoricalData.default;
result = binningFunc({
allData: allRawData,
rawDataByIndex: rawDataByIndex,
valueAccessor: valueAccessor,
limits: limits,
binCount: binCount,
binValues: binValues
});
}
Object.values(result).forEach(function (bins) {
(0, _addDensityAndCumulativeValuesToBins.default)(bins);
});
return result;
}