【问题标题】:Can I use tooltips in linked subplots in MPLD3我可以在 MPLD3 的链接子图中使用工具提示吗
【发布时间】:2016-03-30 15:22:19
【问题描述】:

我尝试了 MPLD3 中的工具提示示例。但是,在我的图中,我有几个带有链接 x 轴的子图(数据长度相同,我正在绘制数据框的不同列)。使用下面的代码,当我在最后一个子图中移动鼠标时,我能够看到工具提示。但是,当我在任何子图中移动鼠标时,我想这样做。我怎样才能做到这一点?我想它应该有点像 LinkedBrush 的例子。我只是不确定如何编写我的插件来处理各种数量的子图。

以下代码在底部子图上创建了一个带有工具提示的图形。

import matplotlib.pyplot as plt
import numpy as np
import mpld3
from mpld3 import plugins, utils
N=30
fig, axes = plt.subplots(3, 1, figsize=(6,10), sharex='col')
for i in range(3):
    points1=axes[i].scatter(range(N),np.random.random(size=N), color='b',marker='.')
labels0 = [ 'point {0}'.format(i + 1) for i in range(N)]
tooltip = plugins.PointLabelTooltip(points1, labels0)
plugins.connect(fig, tooltip)
mpld3.save_html(fig, 'test.html')

【问题讨论】:

  • 您能否为sub 添加一些模拟数据以使其成为一个完整的示例? stackoverflow.com/help/mcve
  • 对不起。只是添加了一个简单的例子来说明问题。
  • 我怀疑你想要的东西比简单地将labels0 = ...plugins.connect 行循环(如下所示:nbviewer.jupyter.org/gist/aflaxman/…)实现的更复杂
  • 太完美了。谢谢安倍!我不知道你可以把它放在一个循环中。
  • 我会把它变成一个答案,以防它帮助别人。

标签: mpld3


【解决方案1】:

您可以通过将工具提示创建代码放入循环中来完成此操作:

import matplotlib.pyplot as plt
import numpy as np
import mpld3
from mpld3 import plugins, utils
N=30
fig, axes = plt.subplots(3, 1, figsize=(6,10), sharex='col')
for i in range(3):
    points1=axes[i].scatter(range(N),np.random.random(size=N), color='b',marker='.')
    labels0 = [ 'point {0}'.format(i + 1) for i in range(N)]
    tooltip = plugins.PointLabelTooltip(points1, labels0)
    plugins.connect(fig, tooltip)
mpld3.save_html(fig, 'test.html')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多