如上两张图,其实是同一个用hightcharts绘制的图表(整体概况图表),由于设置了height,使图表出现滚动条,导致Y轴被遮挡,只有当滚动条滑动至底部时才能看见。
在看到hightstock时发现hightstock似乎没有这样的问题,两种绘图插件是同一家公司出品,于是想将两种绘图插件融合使用;但是经研究测试,两种绘图插件无法融合使用。
1. 整体概况图表里没法将hightcharts和hightstock合起来用,两种绘图函数写法分别是$div.highcharts(conf),和$div.highcharts('StockChart',conf)。
2. hightstock要求提供的数据x轴是时间戳,可以选择显示以“分钟、小时、周、年”等为单位的统计数据,之所以不会出现Y轴被遮挡的情况是因为,每次选择显示一定时间范围内的数据时,它都会筛选出该范围的数据重新绘图。
3. 此外,如果给hightstock设置height出现滚动条的话也是会出现Y轴被遮挡的情况的;hightstock自己绘制出的选择范围用的滚动条只能拖动,不能用鼠标滚动。
4. 而整体概况图里的x轴是基金名称,不符合hightstock对数据的要求,处理不了,Highstock是用股piao图表控件,可以用来开发股piao走势或大数据量的时间轴图表,官网提供的案例全都和时间有关,应该是对时间有硬性要求。
5. 无论是hightcharts还是hightstock都不提供x轴或Y轴的浮动参数设置,只有偏移参数设置。
6. 我考虑了两种替代方案,一种是翻页方式,多个基金分成几个页面绘图,每次选择页面都重新绘图;另一种是单独写一段js脚本控制Y轴位置,通过侦听图表内的滚动事件来调用。只是这两种方案在需要打印的图表中不太适用。