javascript - 使用带有连续线或面积图的图表绘制数据集,平均间隔为 15 分钟 javascript
问题描述
我正在尝试绘制一个月的数据,看起来像这样,
0: {created: 1601820360, magic: -0.1, magnitude: 0.1, createdDay: "2020-10-05"}
1: {created: 1601820365, magic: -0.8, magnitude: 0.8, createdDay: "2020-10-05"}
2: {created: 1601900938, magic: -0.2, magnitude: 0.2, createdDay: "2020-10-05"}
3: {created: 1601900956, magic: -0.2, magnitude: 0.2, createdDay: "2020-10-05"}
4: {created: 1601900971, magic: 0.2, magnitude: 0.2, createdDay: "2020-10-05"}
这个数组中有 3000 个 ish 数据点,我正在寻找它按时间聚合,比如 15 分钟或小时,而不是单独的时间戳,超过它的日期。
我怎样才能得到这种输出?仅仅是数据本身需要随时间平均吗?
尝试重新格式化传入的数据,使其对图表更有用。我想让数据进入并平均超过 15 分钟的间隔,但对如何实现这一点感到非常困惑。
这是代码的第一部分,它只是获取数据并对其进行适当的排序以获得上面的折线图,
export default function generateLineGraphPointsSentiment(
sentimentData
) {
if (sentimentData !=null) {
const DataInput = [];
Object.keys(sentimentData).map(function (key, item) {
var sentimentCurrent = sentimentData[key];
sentimentCurrent.map(function (k, num) {
let dateCreated = new Date(k.created * 1000);
DataInput.push({
created: dateCreated,
sentiment: k.sentiment,
magnitude: k.magnitude,
});
});
});
return DataInput
}
else { return 0 }
}
数据本身的平均有点像这样,但不知道如何让它在多天内工作,
function generateSentimentPoints(Sentiments) {
let nOfEntries = Array(24).fill(1);
Sentiments.forEach((item) => {
const createdHour = new Date(item.created * 1000).getHours();
values[createdHour] = values[createdHour] + item.sentiment;
nOfEntries[createdHour] += 1;
});
欣赏实现此结果的更好方法
解决方案
尝试将您的作品替换为,
<AreaChart
width={500}
height={400}
data={data}
margin={{
top: 10,
right: 30,
left: 0,
bottom: 0
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="createdDay" />
<YAxis />
<Tooltip />
<Area type="monotone" dataKey="magnitude" stroke="#8884d8" fill="#8884d8" />
</AreaChart>
三个变量需要是正确的,
data
,你用过Data
,不知道是不是笔误- "createdDay", x 轴标签
- “幅度”,y轴标签
推荐阅读
- networking - linux在发送数据包时如何选择tx队列以及如何更改策略?
- c# - 如何在 C# 中解析十进制
- c++ - 如何正确销毁线程并销毁对象?
- android - 如何查看APK文件的签名?
- database - Graphql 字段始终为空
- flutter - 带有可选列表的 Flutter 模型现在在移动到 null 感知后会给出错误
- javascript - 访问 vaule 时出错,可在全局游戏范围内使用。画布和 JS
- python - YoloV5s 如何从推理时间输出 FPS
- twitter-bootstrap - v-for 无法读取道具数据
- airflow - 气流执行日期令人困惑