【问题标题】:Absolute positions in mpld3 graphsmpld3 图中的绝对位置
【发布时间】:2020-10-21 13:11:40
【问题描述】:

我正在尝试为mpld3 定义一个自定义插件,但我正在为职位而苦苦挣扎。更具体地说,默认情况下,mpld3 生成的 SVG 带有 MoveZoom 按钮,它们可以更改图形的视图。当我尝试显示内容(如文本)时,我偶然发现了一种奇怪的行为,即位置设置为 相对 到当前视图。这意味着如果我在点 A(10,10) 旁边显示文本然后移动视图,该点仍将位于 (10,10) 但文本会移动,因为它的位置是相对于当前视图。

所以我想再想一想,从一个应该可以工作的最小示例开始:this example 来自mpld3 文档。在demo中,你可以看到我想要的行为:位置是绝对的(当你移动视图时,光标位置是根据网格设置的)。

但是如果我将完全相同的代码复制粘贴到 Pycharm 中并执行它,位置是相对于视图的,这更加奇怪:

我猜这是一个版本的问题。我不知道托管演示示例中使用了哪些版本。我使用mpld3==0.5.1matplotlib==3.2.1numpy==1.19.2

您有什么想法让我能够像示例中那样处理 absolute 职位吗?

【问题讨论】:

  • ax.text(15,15,'test')我添加了这段代码,并看到了您在我的环境中显示的示例代码。 “测试”与图像一起移动。这是你想要的吗?
  • @r-beginners 感谢您的评论。在pyplot 中添加的元素(如ax.text())在mpld3 转换为Javascript 之前设置,因此它们与我想要的图像一起移动。我的问题是针对带有mpld3 插件系统的动态添加 元素。例如,在示例中,鼠标位置显示在右下角。如果您在您的环境中运行该示例,您能告诉我鼠标位置是 absolute 还是 relative 吗? (无论视图的移动或缩放,如果它在([10-20], [10-20]) 范围内,它就是相对的)
  • 图片在(10,10)的时候坐标比较正确,但是移动图片后,鼠标的位置有点偏。
  • 是的,这就是我的担心!在网站上没有问题。
  • 我想我明白你的问题的意图。当然,您提供的网站在图像移动时显示了正确的坐标。我无法帮助你解决这个问题,但我相信你会得到答案。

标签: python matplotlib data-visualization mpld3


【解决方案1】:

我已经成功了。事实证明,将mpld3 降级到版本0.3 可以满足我的要求。我确信有更好的解决方案(因为我无法利用最新版本),但它可以完成工作。

【讨论】:

    猜你喜欢
    • 2013-05-27
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    相关资源
    最近更新 更多