我有不规则的数据。 图绘制以及当我使用highcharts:
$(function() {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'chart'
},
xAxis: {
type: 'datetime'
},
series: [{
name: 'Volume',
data: chart_arr,
}]
});
});
http://jsfiddle.net/KnTaw/9/
但是,我有大量的数据,所以我需要放大的日期,然后选择highstock。 然后,一个奇怪的事情发生了:x轴成为非线性的。
$(function() {
var chart2 = new Highcharts.StockChart({
chart: {
renderTo: 'chart2'
},
rangeSelector: {
selected: 0
},
xAxis: {
type: 'datetime'
},
series: [{
name: 'val',
data: chart_arr,
type : 'area',
}]
});
});
http://jsfiddle.net/Mc3mW/1/
请注意,半小时范围内20年1月6日的数据:00-20:30超过2天1月11日至13日分配更多的空间。 (当然,数据是相同的。)
我如何可以强制x轴在highstock变成直线? 或者我如何可以启用highcharts底部缩放工具? 谢谢。
您需要设定xAxis.ordinal
属性为false
,这是true
默认。 True
值表示点应被放置在固定的时间间隔WRT 空间(像素),和False
的变化点被放置在固定的间隔时间 WRT
xAxis: {
ordinal: false
}
线性x轴| Highstock @的jsfiddle
它可以放大使用HighCharts JavaScript库图表。 你应该设置的属性是zoomType
决定在什么dimentions用户可以通过拖动鼠标放大。 可能是x的一个,y或XY。 默认为“”。
在这里你可以看到一个〔实施例这里 。 为了放大一个特定的地方,按住鼠标左键,然后选择要放大的区域。
HTML代码:
<div id="container" style="height: 400px"></div>
JavaScript代码:
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
zoomType: 'x'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
});
另外,“重置缩放”按钮会自动对缩放事件显示,并可以很容易地图表的操纵什么部位压时,它会显示。
总之,以获取更多信息和缩放设置,事件,应该参考“Highcharts选项参考”按钮的例子在这里 。 只需在搜索中输入“缩放”。
至于你的其他问题:“如何使StockChart线性”根据HighStock API图表的默认类型是线性的。 这里发生的一切由您在一系列属性已设置的区域的选择造成的。 只要删除这样的,你会得到你的线性图表:
$(function() {
var chart2 = new Highcharts.StockChart({
chart: {
renderTo: 'chart2'
},
rangeSelector: {
selected: 0
},
xAxis: {
type: 'datetime'
},
series: [{
name: 'val',
data: chart_arr
}]
});
});