【问题标题】:callbacks on graphics figure zoom/pan etc图形缩放/平移等回调
【发布时间】:2015-06-20 19:42:21
【问题描述】:

使用 Octave 3.8.2

一直在研究一些 MatLab 代码,当图形被平移/缩放时,它会动态地重新生成轴刻度标签。代码中包含如下语句来注册回调函数

...
set(zoom(hAxes),'ActionPostCallback',@ZoomHandler);
...

Octave 不支持此功能,我收到一条有关 zoom() 尚未实现的消息,并且谷歌搜索“octave ActionPostCallback”返回零有用命中,所以想象它也不是。

看了一下 addlistener 函数和 figure/axes 属性,但没有什么特别相关的,目前在 Octave 中是否有任何可行的方法来做这种事情?

谢谢。

理查德。

【问题讨论】:

    标签: octave


    【解决方案1】:

    如果您想更新 xticklabels,我会触发“xlim”的更改。一个例子:

    1;
    function ZoomHandler (h)
      x = get(h, "xtick");
      set (h, "xticklabel", FILL HERE)
    endfunction
    
    plot (1:10)
    addlistener(gca, "xlim", @ZoomHandler)
    

    【讨论】:

    • 你真的试过这个吗?在什么平台和图形工具包上?我测试了一些非常相似的东西,在“xlim”上使用 addlistener 并且没有让我的回调处理程序在缩放/平移操作上触发。
    • @RichardLang:使用 Octave 4.0.0-rc3 和 graphics_toolkit fltk 和 qt 进行了测试。 gnuplot 工具包当然不能工作,因为没有来自 gnuplot->octave 的反馈通道
    • 好的,用 fltk 为我工作。侦察我最初可能会用 gnuplot 尝试过,由于另一个问题,我正在切碎并向后改变。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2010-10-19
    • 2016-07-22
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多