Highcharts Columnrange问​​题(多个y轴和列宽)

时间:2014-07-29 21:53:23

标签: highcharts

我正在评估Highcharts作为我们当前平台的替代品,并对如何复制我们现有的图表有一些疑问:

current chart image

我已经能够重新创建基本的浮动堆积柱形图,但需要帮助我们的一些特定功能。

1)是否可以在单个图表中复制多个y轴,并在每个轴的右侧显示列?如果没有,我想我们可以在彼此旁边做3个图表 - 并在上面绘制我们自己的标题(以及下面的数据表)。如果我们走这条路,有没有办法将所有这些元素分组到一个“容器”中?我们需要将这些图表导出到图像,并且最终需要一个看起来像附加图像的图像。

2)我如何在每列中创建内盒?我是否需要自己绘制,或者我可以创建另一个带有边框和透明填充的列系列,并以某种方式将列的宽度设置为小于主列的宽度(请注意,每个图表上的列数是动态,所以列宽不能是固定的大小。即内盒宽度需要是主列宽度的百分比)?

3)假设#2是可能的,我可以使用相同的技术绘制水平线 - 只需使高度为0(或非常小)并使条形更宽而不是更小。还有更好的方法吗?

4)如何获取列的x坐标,以便我们可以在每列下对齐数据表?

5)我可以分离列中的各个点。您会注意到,在我的jsfiddle中,产品1和产品2在列的中心垂直对齐。我可以在每列中展开它们,因为屏幕截图中有2个点吗?

提前感谢您对上述所有或任何内容的建议。

麦克

1 个答案:

答案 0 :(得分:0)

1)您可以使用多个yAxis,请参阅example

2)您可以使用renderer或混合列/列范围和边框参数example

plotOptions: {
        columnrange: {
            pointPadding:0.2,
            color: 'rgba(255,255,255,0)',
            borderColor: '#303030'            
        }
    },

3)使用渲染器,如上所述,或使用自定义marker

分散系列

4)列的形状为point.element.graphic,因此您可以将其提取出来。

5)据我所知,这是不可能的