Flot:默认情况下缩放到最右侧(使用较大数据点时X轴消失)

时间:2014-11-12 08:41:16

标签: flot

这是问题Flot: Zoom to Far Right by Default的扩展。 虽然接受的答案适用于较小的人口,但是如果我们有超过1000个点,x轴将会丢失,除了y轴之外什么都不显示(如果我们设置左:0 <再次工作/ strong>),但是它会被放大到最左边。

i.e
$.plot($('#graph_with_zoom'), [data], plot_options).zoom({
'amount': total_ticks / 5,
'center': { left: 0, top: 0 }
});     

有没有人有同样的问题?如果是的话,有人有解决方案吗?

1 个答案:

答案 0 :(得分:2)

您的评论正确,left属性以像素为单位,但示例中的图表本身不是400像素宽。它只有大约336像素宽,其余是y轴和左右自由空间。

您可以使用pl.width()获取图表本身的宽度,但不幸的是,这只会给您一个整数(在您的示例中为336),而left属性的最佳值似乎为~336.333。

经过一些尝试和错误后,我发现这个公式似乎适用于不同的画布宽度和不同的点数:

pl.zoom({
    'amount': nZoom,
    'center': { left: pl.width() * (1 + 1 / total_ticks), top: 0 }
});

请参阅此更新fiddle