javascript - 如何更改 Nivo 中的 bin 大小但保持条形宽度不变?
问题描述
所以我找到了这个工作版本,它有一个名为 groupedData 的组件。我只需要解释一下 binSize 是如何更改的,特别是这里的这个函数:
const groupData = (data, nutrient) => {
const bins = [...Array(20)].map(() => []);
for (let i = 0; i < data.length; i++) {
let binNumber = Math.min(
19,
Math.floor((data[i]?.n100[nutrient] || 0) / 5)
);
bins[binNumber].push(data[i]);
}
return bins.map((bin, i) => ({ id: (i * 5).toString(), value: bin.length }));
};
export default groupData;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
继承人沙箱:https ://codesandbox.io/s/focused-mountain-z7w5d?file=/src/format/index.js
数据比较了运动棒的不同营养成分。n100 是 100 克,nsrv 是每条。
解决方案
推荐阅读
- azure - 在用户之间分摊启用 Azure 语音的机器人的成本
- javascript - 如何做 z-index 的反向功能
- xamarin - 如何获得网络速度,在 xamarin iOS 中是快还是慢?
- python - 我怎么知道在 Android 上运行 selenium
- javascript - 如何在使用 vue.js 提交表单之前显示图像预览?
- c# - 比较两个日期时,并非所有代码路径都返回一个值?
- python - 熊猫数据框到列表字典
- excel - 如何使用 VBA 动态更新散点图系列?
- api - Unity3d Probuilder 脚本。如何在代码中应用纹理?
- execution-time - ProcessPoolExecutor 在 windows 上比在 mac 上花费更多时间