Python mpld3绘图、注释问题

Python mpld3绘图、注释问题,python,matplotlib,mpld3,Python,Matplotlib,Mpld3,我正在使用mpld3在内部网站上显示图形。我正在使用将图形保存到dict并使用mpld3.js在客户端渲染它的选项 除非我想使用注释,否则图形呈现良好。这些显然是相互抵消的。我不明白为什么,因为即使我将偏移量设置为(0,0),注释仍然很遥远 为了说明这一点,我复制并粘贴了本文中给出的示例: 以下是matplotlib正确生成的图像: 以下是使用mpld3制作的: 请注意,这两个图像是使用上述链接中的代码同时生成的。 matplotlib使用以下方法创建: plt.show() 然后手动保

我正在使用mpld3在内部网站上显示图形。我正在使用将图形保存到dict并使用mpld3.js在客户端渲染它的选项

除非我想使用注释,否则图形呈现良好。这些显然是相互抵消的。我不明白为什么,因为即使我将偏移量设置为(0,0),注释仍然很遥远

为了说明这一点,我复制并粘贴了本文中给出的示例:

以下是matplotlib正确生成的图像:

以下是使用mpld3制作的:

请注意,这两个图像是使用上述链接中的代码同时生成的。 matplotlib使用以下方法创建:

plt.show()
然后手动保存

mpld3中的一个使用:

 graph_data = json.dumps(fig_to_dict(fig))
然后在客户端使用
mpld3.js
生成
graph\u数据
,除了使用注释外,它工作得非常好

你知道它为什么会这样吗?
最终,我可以直接显示matplotlib生成的图像,但have interactive图表是一个不错的奖励。

看来
plt.annotate
mpl
的一个功能,在
mpld3
中还不受支持。我已将其添加到列表中。拉请求欢迎

对于复杂的处理方法,您可以使用
plt.text
获取单词,并使用
plt.plot
进行任何其他修饰:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(12345) # set seed for reproducibility

N = 10
data = np.random.random((N, 4))
labels = ['point{0}'.format(i) for i in range(N)]
plt.subplots_adjust(bottom = 0.1)
plt.scatter(
    data[:, 0], data[:, 1], marker = 'o', c = data[:, 2], s = data[:, 3]*1500,
    cmap = plt.get_cmap('Spectral'))
for label, x, y in zip(labels, data[:, 0], data[:, 1]):
    plt.text(x-.05, y+.05,
        label,
        ha = 'right', va = 'bottom')
    plt.plot([x-.05,x], [y+.05,y], 'k-')

这是。您可能还对。

感兴趣。谢谢您的回答,很抱歉回复太晚。这确实解决了我的问题。最后,我决定直接显示图形的png图像,而不是使用mpld3,因为我还有其他问题,并且几乎没有分配预算来开发要求我做的事情。