javascript - 如何停止在 Flot 条形图中缩小?

标签 javascript jquery flot

我正在使用 Flot 绘制一些条形图。如何配置缩放,以便当用户缩小时,图表看起来像顶部的而不是底部的?换句话说,我不希望用户在显示图表的所有数据时继续缩小。我还想限制图表在 X 轴上显示任何低于 0 的值。请参阅我的代码和下面图表的图片:

<#macro barChart2 var formatFunction ticks="" optionLegend="{ show: false }">
  var options = {
    yaxis: {
      tickFormatter: ${formatFunction}
    },
    series: {
      stack: 0,
      bars: { 
        show: true,
        barWidth: 0.9,
        align: "center"
      }
    },
    grid : { 
      hoverable: true 
    },
    xaxis: {
      <#if "${ticks}" != "">
        ticks: ${ticks}
      </#if>
      mode: "time",
      timeformat: "%b %d, %H:%M %P"
    },
    pan : { 
      interactive: true 
    },
    legend: ${optionLegend}
  };

  var plot${var} = $.plot($("#chart${var}"), data, options);

  $("#zoomIn${var}").click(function(e) {
    e.preventDefault();
    plot${var}.zoom();
  });

  $("#zoomOut${var}").click(function(e) {
    e.preventDefault();
    plot${var}.zoomOut();
  });
</#macro>

enter image description here

最佳答案

我建议你看看 zoomRange and panRange parameters 您可以使用导航插件进行设置。您为轴指定那些:

xaxis: { zoomRange: [0.1, 10], panRange: [-10, 10] },
yaxis: { zoomRange: [0.1, 10], panRange: [-10, 10] }

其中 zoomRange 设置缩放限制。在这种情况下,最小值和最大值之间的差异永远不会低于 0.1,也永远不会超过 10。panRange 告诉内容保持在一定范围内,所以在这种情况下,两个轴都不会低于 -10 或高于 10。

我不确定您如何使用时间序列数据执行此操作,但请先尝试使用 javascript 时间戳。

关于javascript - 如何停止在 Flot 条形图中缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10908951/

相关文章:

javascript - 只有当另一个动画已经完成时才开始一个 CSS 动画

javascript - onClick 函数返回未定义

javascript - 如何清空 td 的值而不删除嵌入其中的输入?

php - 使用具有多个 y 轴的 SQL Server 数据库绘制流程图

javascript - jquery validate SubmitHandler 在提交按钮后未触发

javascript - 当它位于视口(viewport)中时,将图表饼加载到 div 中

Javascript 检查经典 asp 中的所有复选框

javascript - Meteor.call 并将对象传递给渲染组件

javascript - 浮点图数据点数量

javascript - Flot:抓取距离十字线最近的点