大家好,来自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]
]

07-25 22:08
查看更多