正如您在上图中看到的,我有两种类型的数据数组,在 y 轴上的一组数据中,我正在进入,degree celsius
而在另一组数据中,我正在进入hertz (hz)
,
而且很可能在运行时我也可以获得一些其他数据集。
主要挑战是:
- 必须有一个共同的x轴
- 用户可以使用拖放重新排列这些线
- 用户可以进行放大和缩小操作以查看隐藏的 y 轴值
我浏览了一些 highcharts 示例,但实际上并没有解决我的要求,如果有人可以建议我,任何其他图表库
我将不胜感激任何建议
非常感谢。
正如您在上图中看到的,我有两种类型的数据数组,在 y 轴上的一组数据中,我正在进入,degree celsius
而在另一组数据中,我正在进入hertz (hz)
,
而且很可能在运行时我也可以获得一些其他数据集。
主要挑战是:
我浏览了一些 highcharts 示例,但实际上并没有解决我的要求,如果有人可以建议我,任何其他图表库
我将不胜感激任何建议
非常感谢。
在 Highcharts 库中,您可以在同一个 X 轴上使用多个 Y 轴。
Highcharts.chart('container', {
chart: {
zoomType: 'xy'
},
title: {
text: 'Multiple Type of Dat'
},
xAxis: [{
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
crosshair: true
}],
yAxis: [{ // Primary yAxis
labels: {
format: '{value}°C',
style: {
color: Highcharts.getOptions().colors[2]
}
},
title: {
text: 'Temperature',
style: {
color: Highcharts.getOptions().colors[2]
}
},
opposite: true
}, { // Secondary yAxis
gridLineWidth: 0,
title: {
text: 'Rainfall',
style: {
color: Highcharts.getOptions().colors[0]
}
},
labels: {
format: '{value} mm',
style: {
color: Highcharts.getOptions().colors[0]
}
}
}, { // Tertiary yAxis
gridLineWidth: 0,
title: {
text: 'Frequency',
style: {
color: Highcharts.getOptions().colors[1]
}
},
labels: {
format: '{value} hertz',
style: {
color: Highcharts.getOptions().colors[1]
}
},
opposite: true
}],
tooltip: {
shared: true
},
legend: {
layout: 'vertical',
align: 'left',
x: 80,
verticalAlign: 'top',
y: 55,
floating: true,
backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
},
series: [{
name: 'Rainfall',
type: 'spline',
yAxis: 1,
data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
tooltip: {
valueSuffix: ' mm'
}
}, {
name: 'Frequency',
type: 'spline',
yAxis: 2,
data: [1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7],
marker: {
enabled: false
},
dashStyle: 'shortdot',
tooltip: {
valueSuffix: ' hertz'
}
}, {
name: 'Temperature',
type: 'spline',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
tooltip: {
valueSuffix: ' °C'
}
}]
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/series-label.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
API 参考: https ://www.highcharts.com/demo/combo-multi-axes
您还可以使用 zoomType: 'xy'
允许用户放大和缩小图表。