平移多个 Y 轴之一以获取高图

2024-03-30

我是 highchart javascript 的新手。而且我没有样品来展示它。但我见过图表有两个 Y 轴,左轴和右轴。我可以上下拖动一个轴而不影响另一个轴。该图表可能包含一些系列数据。

我见过构建的插件:http://www.highcharts.com/plugin-registry/single/27/Y-Axis%20Panning http://www.highcharts.com/plugin-registry/single/27/Y-Axis%20Panning

和这个

http://jsfiddle.net/uLHCx/ http://jsfiddle.net/uLHCx/使用此代码

$(chart.container)
    .mousedown(function(event) {
        mouseY=event.offsetY;
        yData=chart.yAxis[0].getExtremes();
        yDataRange=yData.max-yData.min;
        isDragging=true;
    })
    .mousemove(function(e) {
        var wasDragging = isDragging;
        if (wasDragging) {
            yVar=mouseY-e.pageY; 
           if(yVar<-50 || yVar > 50) {
               mouseY = e.pageY;
                yVarDelta=yVar/100*yDataRange;
               yVarDelta =  chart.yAxis[0].translate(e.pageY) - chart.yAxis[0].translate(e.pageY - yVarDelta);
                chart.yAxis[0].setExtremes((yData.min-yVarDelta),(yData.max-yVarDelta));
            }
        }
    })
    .mouseup(function (e) {
        isDragging = false;
    });

但这只有一个 y 轴。多个又怎样?


您可以像这样指定第二个 yAxis:

yAxis: [{
        min: -50,
        tickInterval: 500,
        startOnTick:false,
        endOnTick:false
    },{
        min: -50,
        opposite:true,
        tickInterval: 500,
        startOnTick:false,
        endOnTick:false
    }],

并在其上绘制一些数据,如下所示:

series: [{
        data: [929.9, 971.5, 1106.4, 1129.2, 1144.0, 1176.0, 1135.6, 1148.5, 2216.4, 1194.1, 995.6, 954.4]        
    },{yAxis:1,
        data: [929.9, 971.5, 1106.4, 1129.2, 1144.0, 1176.0, 1135.6, 1148.5, 2216.4, 1194.1, 995.6, 954.4]        
    }]

如果您在发布的小提琴中执行此操作,则会得到一个不移动的轴和一个移动的轴。

http://jsfiddle.net/hUt72/ http://jsfiddle.net/hUt72/

可以通过更改此例程来修改滚动行为:

    .mousemove(function(e) {
    var wasDragging = isDragging;
    if (wasDragging) {
        yVar=mouseY-e.pageY; 
       if(yVar<-20 || yVar > 20) {
           mouseY = e.pageY;
            yVarDelta=yVar/10*yDataRange;
           yVarDelta =  chart.yAxis[0].translate(e.pageY) - chart.yAxis[0].translate(e.pageY - yVarDelta);
            chart.yAxis[0].setExtremes((yData.min-yVarDelta),(yData.max-yVarDelta));
        }
    }
})

http://jsfiddle.net/Em2P3/ http://jsfiddle.net/Em2P3/

尝试换线

 if(yVar<=20 || yVar > 20) {

或线

yVarDelta=yVar/10*yDataRange;

使滚动更平滑/更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

平移多个 Y 轴之一以获取高图 的相关文章

随机推荐

  • sh 和 bash 中 pgrep 的区别

    这是一个测试 bash c pgrep f novalidname sh c pgrep f novalidname 11202 Why is pgrep运行时给出输出sh 据我所知 我的计算机上没有名为novalidname 这可能是一个
  • 链接到外部 css 文件

    我一直在尝试将我在本地计算机中创建的 css 文件链接到我的 html 代码 但它似乎不起作用 我们应该在 html 代码中保存想要链接的 css 文件 或者我们应该如何链接到该文件 作为一个例子 我发布了这个 html 代码
  • 功能证明 (Haskell)

    我没能读懂 RWH 我命令没有人放弃Haskell 函数式编程的技巧 现在我对第 146 页上的这些功能证明很好奇 具体来说 我试图证明 8 5 1sum reverse xs sum xs 我可以做一些归纳证明 但后来我陷入困境 HYP
  • opencv无法保存视频

    我正在尝试使用 opencv 写入方法保存视频 但视频保存为 0 kb 我的代码出了什么问题 import cv2 cap cv2 VideoCapture k1 mp4 assert cap isOpened fgbg cv2 bgseg
  • 使用 CUDA 进行希尔伯特变换

    为了对一维数组进行希尔伯特变换 必须 对数组进行 FFT 将数组的一半加倍 将另一半归零 反 FFT 结果 我正在使用 PyCuLib 进行 FFTing 到目前为止我的代码 def htransforms data N data shap
  • Firebase 实时数据库的分页

    我一直在尝试寻找一种为 Firebase 实时数据库进行分页的方法 我看到很多关于 Cloud Firestore 分页的教程 文章 但没有看到关于实时数据库的分页 下面是我的代码及其按预期工作 谁能指出我添加分页的正确方向 如果可能的话
  • 使用 Gradle 将模块化库发布到 Maven

    假设我使用 Gradle 进行模块化库开发 在我的根项目中我有子项目geometry algorithms visualizer 我想发布每个的 jar 工件 至于现在在我的根build gradle我有以下部分 apply plugin
  • MVC 模型对象、域对象和 DTO 之间有什么区别

    MVC 模型对象 域对象和 DTO 之间有什么区别 我的理解是 MVC 模型对象 对要由相应视图显示的数据进行建模 它可能不会直接映射到域对象 即可能包含来自一个或多个域对象的数据 客户端 可能包含业务逻辑 例如 验证 计算属性等 没有持久
  • 比较()中的空字段该怎么办?

    在Java中 我使用一个类 其中一些字段可以null 例如 class Foo String bar 我想为这个类写一个BarComparator private static class BarComparator implements
  • 如何使用 VBA sendkeys 打印或发送大括号 ( )

    我有以下代码 但不发送大括号 sendkeys a script sh true 但它作为 a script sh 发送 大括号缺失 Try this SendKeys a script sh True 例如 Sub Sample Dim
  • Adobe Flash Builder 能否用于调试和分析 OpenLaszlo SWF10/SWF11 应用程序?

    我读过 Adob e 的Flash Builder 4 0 支持 ActionScript 3 的分析 http help adobe com en US flashbuilder using WS6f97d7caa66ef6eb1e63e
  • 为什么 Hadoop 中正确的缩减数量是 0.95 或 1.75?

    hadoop 文档指出 正确的归约次数似乎是 0 95 或 1 75 乘以 mapred tasktracker reduce tasks maximum 0 95 所有的减少都可以立即启动并开始 地图完成时传输地图输出 用1 75更快 节
  • UML 类图概念、规范、实现

    我目前正在阅读 Martin Fowler 的 UML Distilled 我刚刚介绍了有关类图的部分 他在其中强调了在对类图进行建模之前理清自己的观点的必要性 然而 在实际绘制类图时 我对它的实际外观有点困惑 例如 我理解理论含义会改变关
  • Symfony2 自定义表单字段

    我对 Symfony 很陌生 所以问题可能看起来有点简单 但我需要帮助 我已经生成了新的捆绑包 我添加了一条新路线Me MyBundle Resources config routing yml my homepage pattern de
  • jQuery:append()对象,用delay()删除()它

    这有什么问题吗 body append div class message success Upload successful div message delay 2000 remove 我想将成功消息附加到我的 html 文档中 但只持续
  • 通过反射获取对象

    我正在寻找 C 中的机制 如下所示 Car car1 Car car2 Car car Car SomeMechanism Get car1 car1 和 car2 是字段 所以我想得到一些带有反射的对象 而不是类型 我怎样才能在c 中做到
  • 如何忽略 Web 浏览器中的脚本错误

    当我关闭使用网络浏览器的应用程序时会发生什么 以下网址使用flash播放器 一切正常 此错误在应用程序关闭时显示 我该如何忽略它 我知道为时已晚 但我觉得我对这个问题有一个聪明的答案 使用这个 它对我来说很有效 webBrowser Scr
  • 多重处理:类型错误:“int”对象不可迭代

    我正在使用multiprocessingPython 3 中的模块 但由于某种原因 它不断抛出TypeError int object is not iterable当我运行程序时 这就是我所做的 def main i global url
  • mod_wsgi 无法连接 WSGI 守护进程

    我正在使用 Easy apache 4 mod wsgi 和 Python 3 5 当我在服务器中调用 Django 项目时 出现以下错误 13 Permission denied mod wsgi pid 24223 Unable to
  • 平移多个 Y 轴之一以获取高图

    我是 highchart javascript 的新手 而且我没有样品来展示它 但我见过图表有两个 Y 轴 左轴和右轴 我可以上下拖动一个轴而不影响另一个轴 该图表可能包含一些系列数据 我见过构建的插件 http www highchart