2016-11-24 43 views
3

我遇到了highcharts库的一些极端用法。也许有人可以帮助解决这些问题。 我的方案是我在数据库中执行不同的查询,并基于这些数据我必须绘制图表。数据本质上是高度动态的。同样基于数据,我必须显示某些限制(根据数据计算)。这些限制使用Oy轴上的'plotLines'选项绘制。这些线必须始终显示,所以为了做到这一点,我手动计算Oy轴上的最大值和最小值,以便高点图可以始终显示线。基于此,我有两种极端情况:Highcharts库UI故障

1)第一个被这个小提琴描述:https://jsfiddle.net/314mgzwn/ 由于图表中自动显示的图表中的一条线(小提琴中名为USL的线),我的一条线的文本标签不可见。有什么办法可以绕过这个吗?

2)第二种情况与我可能在Ox轴上有很多数据有关。在这种情况下,如在小提琴中看到:https://jsfiddle.net/ghx6e07r/数据不显示,只有当我用鼠标移动到该区域时出现工具提示。当我手动缩放数据开始出现。有什么办法可以从头开始显示数据吗?

回答

1

1)覆盖绘图区域的线是网格线。它们可以像蜱一样控制(网格线延长滴答)。他们有z-index财产(也有情节线有it)。

propertyObjectY = { 
value: 0, 
color: '', 
dashStyle: 'Solid', 
width: 2, 
label: { 
    text: '' 
}, 
zIndex: 2 
} 

将zIndex设置为2,因此绘图线将绘制在网格线的顶部。

例如:https://jsfiddle.net/314mgzwn/3/

2)当你的数据被致密化,标记将不会默认渲染,所以你需要手动启用它们。

plotOptions: { 
     series: { 
     marker: { 
      enabled: true 
     } 
     } 
    }, 

例如:https://jsfiddle.net/ghx6e07r/2/

在该示例中,第二壳体是空值,这将不会被线除非设置connectNulls属性设置为true连接。

示例:https://jsfiddle.net/ghx6e07r/3/

0

以下的情况下,1尝试改变:

propertyObjectY = { 
    value: 0, 
    color: '', 
// dashStyle: 'Solid', 
    width: 0, 
    label: { 
    text: '' 
    } 
} 

Updated fiddle here

方案-2,问题是,你有 “空” 点为好。在highcharts默认情况下,null点没有连接。将它们连接起来使用

plotOptions: { 
    series: { 
     connectNulls: true 
    } 
}, 

See the fiddle

现在,由于有大量的数据点,使您的图表将显示messy.if你放大它看起来平常的图表。