Javascript 如何读取两个/多个数组一个数组中的嵌套数组并传递给图表
在一些帮助下,我成功地从节点服务器端点导出了嵌套数组。该代码使用一个数组,但我希望为绘制到图表的多条线传递多个数组。我认为最简单的方法是将数组嵌套在另一个数组中?所以我的数组看起来像:Javascript 如何读取两个/多个数组一个数组中的嵌套数组并传递给图表,javascript,arrays,node.js,Javascript,Arrays,Node.js,在一些帮助下,我成功地从节点服务器端点导出了嵌套数组。该代码使用一个数组,但我希望为绘制到图表的多条线传递多个数组。我认为最简单的方法是将数组嵌套在另一个数组中?所以我的数组看起来像: [[8,45,2,1],[red, green, blue, pink]] 下面是我试图传递两个数组的html文件(这不起作用) 看看: 因此,基本上对于数据集您需要一个包含两个元素的数组,每个元素都包含自己的数据。将数组展开并转换为一个数组怎么样,我的意思是,您的最终数组可以是[8,45,2,1红色、绿色、蓝
[[8,45,2,1],[red, green, blue, pink]]
下面是我试图传递两个数组的html文件(这不起作用)
看看:
因此,基本上对于
数据集
您需要一个包含两个元素的数组,每个元素都包含自己的数据。将数组展开并转换为一个数组怎么样,我的意思是,您的最终数组可以是[8,45,2,1红色、绿色、蓝色、粉色]
<!DOCTYPE html>
<!-- saved from url=(0061)https://www.chartjs.org/samples/latest/charts/line/basic.html -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Line Chart</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
<canvas id="myChart"></canvas>
<style>
@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}</style></head>
<body>
<script>
const chart = new Chart(
document.getElementById('myChart').getContext('2d'),
{
type: 'line',
// ...
}
)
//const API_HOST = 'https://so-58465005-mqksg0z5tsf8.runkit.sh'
const API_HOST = 'http://localhost:3000'
fetch(`${API_HOST}/array`)
.then(response => response.json())
.then(data => {
chart.config.data.labels = Array.from(Array(data[0].length)).map((_, i) => i + 1)
chart.config.data.datasets.push({ label: 'my data0', data[0]},{label: 'my data1', data[1]})
chart.update()
})
</script>
</body></html>
fetch(`${API_HOST}/array`)
.then(response => response.json())
.then(data => {
chart.config.data.labels = Array.from(Array(data[0].length)).map((_, i) => i + 1)
chart.config.data.datasets.push({ label: 'my data', data})
chart.update()
})
</script>
</body></html>
var barChartData = {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [{
label: 'Dataset 1',
// ...
data: [
randomScalingFactor(),
// ...
]
}, {
label: 'Dataset 2',
// ...
data: [
randomScalingFactor(),
// ...
]
}]