我正在寻找一种自定义重置/移动/缩放图标的方法,该图标显示在已导出到html的mpld3图形的左下方。 我尝试在mpld3.v0.3.js脚本的本地副本中使用新的data:image / png; base64 ....修改mpld3.icons = {...}数据,然后将其加载到我的html页上嵌入了图形,但是它仍然有旧图标。 查看页面源代码,即使正在加载修改后的本地mpld3.v0.3.js脚本,它似乎仍从github上的脚本副本中获取图标。
我似乎无法强制使用本地修改的脚本。 我对此的解决方案是在页面加载时使用另一个脚本将图形脚本中的url替换为本地脚本,这可以替换图标,但这很可怕。我不想将URL硬编码到脚本中,因为我托管在不同的服务器上。
是否存在一种建议的方法来修改这些图标,因为我的hacks似乎不是正确的方法,并且这些图标在深色背景上根本不起作用。
任何少用的骇客解决方案都值得赞赏。谢谢。
EDIT 如果有人对我当前在Django中工作的hack的代码感兴趣,请点击这里。在模板中:
{% load static %}
{% static '' as baseUrl %}
{% embed_plot baseUrl as plot %}
然后,模板标记embed_plot的代码为:
@register.simple_tag
def embed_plot(static):
report = Plot.objects.get(pk=imadethisup)
html = report.html # just getting the html exported from mpld3
html = html.replace('https://mpld3.github.io', static) # This makes the script use local scripts with modified icons
return html
然后我可以使用
将绘图嵌入到我的页面中 {{ plot|safe }}
在我的Django模板中。
为了Google员工,这是我使用的有效解决方案,尽管还远远不能解决问题。我希望有人在这里发布更好的文章。