2

如何绘制 Pandas 线图,其中有工具提示,指示线的标签和鼠标所在点的值?

一个熊猫图可能有十几个不同的线条,带有不同的图例标签。工具提示应输出(标签、值)。如果这要求太多,那么标签就可以了。

我对 mpld3 有偏好,但任何其他绘图包都可以。在 mpld3 中,您是否使用 PointLabelTooltip 或 LineLabelTooltip 来处理熊猫图?请提供示例代码。

以下代码给出了错误,因为 PointLabelTooltip 期望的是点,而不是线:

import mpld3
mpld3.enable_notebook()
fig, ax = plt.subplots()
df = pd.DataFrame(np.cumsum(np.random.normal(0,1,(12,1000)),axis=1).T)
axes = df.plot(figsize=(14,4), colormap='spectral');

labels = list(df.columns.values)
tooltip = mpld3.plugins.PointLabelTooltip(axes.get_lines()[0],labels=labels)
mpld3.plugins.connect(fig, tooltip) 

Javascript error adding output!
TypeError: null is not an object (evaluating 'obj.elements')
See your browser Javascript console for more details.
4

1 回答 1

3

要将简单的工具提示放在一行上,您可以使用mpld3.plugin.LineLabelTooltip. 您必须为每一行执行一次。这是您的代码的修改版本:

import mpld3, pandas as pd
mpld3.enable_notebook()

df = pd.DataFrame(np.cumsum(np.random.normal(0,1,(5,1000)),axis=1).T)
axes = df.plot(figsize=(14,4), colormap='spectral');

labels = list(df.columns.values)
for i in range(len(labels)):
    tooltip = mpld3.plugins.LineLabelTooltip(axes.get_lines()[i], labels[i])
    mpld3.plugins.connect(plt.gcf(), tooltip) 
于 2015-05-29T05:24:57.033 回答