如何使用 Highcharts React 为同一个 XAxis 创建多行图表?
How to use Highcharts React to create chart with multiple lines for same XAxis?
我有一个包含日期值和其他 3 个值的数据集。例如:
{
"minimum": "71",
"maximum": "74",
"meanAverage": "72",
"dateTime": "2018-03-28T13:46:00"
},
{
"minimum": "57",
"maximum": "87",
"meanAverage": "71",
"dateTime": "2018-03-28T18:00:01"
},
我想使用 react highcharts 创建一个图表,x 轴上有日期,然后 y 轴上有 3 条线显示所有日期对应的 3 个值。
到目前为止,我想使用 3 个不同的数组传递给 series.data
。每个数组都有 x 值(日期),然后是 y 值。对于最低要求,它将是:
['2018-03-28T13:46:00', '71']
['2018-03-28T18:00:01', '57']
...
并且在 options
对象中,我会有这样的东西:
series: [
{
data: minimuns
},
{
data: maximuns
},
{
data: meanAverages
},
]
但这不起作用,我在查找正确执行此操作的信息时遇到了一些问题。有帮助吗?
您需要将 json 对象解析为合适的数据格式。
有关可接受的数据格式,请参阅文档:
https://api.highcharts.com/highcharts/series.line.data
注意,y
值应该是一个数字。
示例配置:
const json = '[{"minimum": 71, "maximum": 74, "meanAverage": 72, "dateTime": "2018-03-28T13:46:00"}, {"minimum": 57,"maximum": 87, "meanAverage": 71, "dateTime": "2018-03-28T18:00:01"}]',
parsed = JSON.parse(json);
const minimum = [];
parsed.forEach(data => {
minimum.push([new Date(data.dateTime).getTime(), data.minimum])
})
const maximum = [];
parsed.forEach(data => {
maximum.push([new Date(data.dateTime).getTime(), data.maximum])
})
const meanAverage = [];
parsed.forEach(data => {
meanAverage.push([new Date(data.dateTime).getTime(), data.meanAverage])
})
然后您就可以按预期使用您的数据数组了:
series: [{
data: minimum
},
{
data: maximum
},
{
data: meanAverage
}
]
我有一个包含日期值和其他 3 个值的数据集。例如:
{
"minimum": "71",
"maximum": "74",
"meanAverage": "72",
"dateTime": "2018-03-28T13:46:00"
},
{
"minimum": "57",
"maximum": "87",
"meanAverage": "71",
"dateTime": "2018-03-28T18:00:01"
},
我想使用 react highcharts 创建一个图表,x 轴上有日期,然后 y 轴上有 3 条线显示所有日期对应的 3 个值。
到目前为止,我想使用 3 个不同的数组传递给 series.data
。每个数组都有 x 值(日期),然后是 y 值。对于最低要求,它将是:
['2018-03-28T13:46:00', '71']
['2018-03-28T18:00:01', '57']
...
并且在 options
对象中,我会有这样的东西:
series: [
{
data: minimuns
},
{
data: maximuns
},
{
data: meanAverages
},
]
但这不起作用,我在查找正确执行此操作的信息时遇到了一些问题。有帮助吗?
您需要将 json 对象解析为合适的数据格式。
有关可接受的数据格式,请参阅文档: https://api.highcharts.com/highcharts/series.line.data
注意,y
值应该是一个数字。
示例配置:
const json = '[{"minimum": 71, "maximum": 74, "meanAverage": 72, "dateTime": "2018-03-28T13:46:00"}, {"minimum": 57,"maximum": 87, "meanAverage": 71, "dateTime": "2018-03-28T18:00:01"}]',
parsed = JSON.parse(json);
const minimum = [];
parsed.forEach(data => {
minimum.push([new Date(data.dateTime).getTime(), data.minimum])
})
const maximum = [];
parsed.forEach(data => {
maximum.push([new Date(data.dateTime).getTime(), data.maximum])
})
const meanAverage = [];
parsed.forEach(data => {
meanAverage.push([new Date(data.dateTime).getTime(), data.meanAverage])
})
然后您就可以按预期使用您的数据数组了:
series: [{
data: minimum
},
{
data: maximum
},
{
data: meanAverage
}
]