大家好,来自Pawel-fus上的highchart开发人员Highcharts official forum,我知道highchart不支持棒图,并且可以使用链接的序列获得类似的效果。
我想使用高图将u和v组件显示为摇杆,从理论上讲,我所知道的是
棒图是在u-v平面上的图。假设你有时间
向量的序列(u(t),v(t))。然后,您绘制线段
从(ct,0)到(ct + u(t),v(t))
在t的所有值的u-v平面上,其中c是一个任意值
不变。每个线段代表向量(u(t),v(t))
但其原点偏移为(ct,0)。
因此,垂直轴为v,水平轴为u。
但是,水平轴仅用时间t来“标记”
方便,表示原点的偏移量(ct,0)。
在Pawel-Fus帮助下,我可以实现这样的理论,这里x轴是0-3的数字,检出Fiddle - working theory
<script src="jquery-1.11.0.min.js"></script>
<script src="highcharts.js"></script>
<div id="container" style="height: 400px; width: 500px"></div>
<script>
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
colors: ['blue'],
plotOptions: {
series: {
marker: {
enabled: false
}
}
},
series: [{
name: 'main',
id: 'main',
data: [
[0, 0],
[(-3.969 +0), -1.001]
]
}, {
name: 'main',
linkedTo: 'main',
data: [
[1, 0],
[(-4.578 + 1), 0.596]
]
}, {
name: 'main',
linkedTo: 'main',
data: [
[2, 0],
[(1.593 + 2), 0.484]
]
}, {
name: 'main',
linkedTo: 'main',
data: [
[3, 0],
[(-1.622 + 3), 1.580]
]
}]
});
});
</script>
但是我的最终目标是绘制时间序列图,所以我尝试这样做,在这里我用日期代替,但是不幸的是我没有得到以上结帐Bad Fiddle的结果
<script src="jquery-1.11.0.min.js"></script>
<script src="highcharts.js"></script>
<div id="container" style="height: 400px; width: 500px"></div>
<script>
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
colors: ['blue'],
plotOptions: {
series: {
marker: {
enabled: false
}
}
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats : {
year: '%e %b %Y',
}
},
series: [{
name: 'main',
id: 'main',
data: [
[Date.UTC(1982, 1, 16), 0],
[(-3.969 + Date.UTC(1982, 1, 16)), -1.001]
]
}, {
name: 'main',
linkedTo: 'main',
data: [
[Date.UTC(1982, 2, 16), 0],
[(-4.578 + Date.UTC(1982, 2, 16)), 0.596]
]
}, {
name: 'main',
linkedTo: 'main',
data: [
[Date.UTC(1982, 3, 16), 0],
[(1.593 + Date.UTC(1982, 3, 16)), 0.484]
]
}, {
name: 'main',
linkedTo: 'main',
data: [
[Date.UTC(1982, 4, 16), 0],
[(-1.622 + Date.UTC(1982, 4, 16)), 1.580]
]
}]
});
});
</script>
那么我在时序图上做错了什么呢?时间序列是否可以像第一个工作脚本那样完成?我想在顶部的每个棍子上添加箭头
有人请帮我...
如果您需要更多说明,请对我大喊...
谢谢..
最佳答案
您的日期太近了,无法对您的行进行任何倾斜。 Date.UTC返回自1970年1月1日以来的毫秒数,因此仅减去3或4毫秒,只会产生垂直线。这个:
data: [
[Date.UTC(1982, 1, 16), 0],
[(-3.969 + Date.UTC(1982, 1, 16)), -1.001]
]
等于:
data: [
[382665600000, 0],
[382665599996.031, -1.001]
]