HighCharts - 从愿望点添加垂直线

时间:2015-08-13 17:47:34

标签: javascript jquery highcharts

需要从所需的点绘制垂直线而不是从0开始。

plotLines: [{
            color: '#FF0000',
            width: 1,
            value: 4
        }, {
            color: '#FF0000',
            width: 1,
            value: 7
        }],

以下是提琴手链接:http://jsfiddle.net/bpswt3tr/4/

我的要求是从y值为110.2时绘制第一条垂直线,从y值为135.6时绘制第二条线,而不是从零开始。即仅在情节线上方。请建议我如何实现这一目标?感谢。

2 个答案:

答案 0 :(得分:0)

考虑到documentation,默认情况下HighCharts不太可能支持此功能,因为您只允许将当前轴的值与该行相关联。

您可能需要一个预处理步骤,将您的函数反转以获得适当的X值。类似的东西:

invert(data, Y) -> list of X values with data[X] = Y

答案 1 :(得分:0)

您可以在String[] months = { "January", "February", "March", ... "December" }; button.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("Select a month"); builder.setItems(months, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { button.setText(months[which]); } }); builder.create().show(); return true; } }); 电话上执行此操作。如果您知道这些是您想要添加标记元素的点,则它非常简单。您首先获得yAxis的当前最大标签值。然后在图表中添加一个系列,起点是系列的值,第二个点是最大可查看的yAxis值。然后对要添加条的第二个点执行相同操作。然后,您需要将yAxis max值重新设置为初始状态,因为highcharts会尝试增加比例以适应新点。

chart.events.load

示例demo