0

我尝试了 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')
4

1 回答 1

2

You accomplish this by putting the tooltip creation code into your loop:

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')
于 2016-04-09T13:03:23.357 回答