使用mpld3在大叶草/自举折叠中使刻度标签抖动

如何解决使用mpld3在大叶草/自举折叠中使刻度标签抖动

作为序言:我知道使用mpld3存在一些刻度格式问题,但是我相信这是另外一回事。 几乎完美运行!

我正在用大叶草(天赐之物)来创建一个地图,其中标记和GeoJson弹出窗口中包含html内容。其中一些内容包括可折叠的引导按钮,我现在将mpld3内容合并到我的产品中。我注意到一些我不完全了解的行为:

    放在iframe的父div中的
  • mpld3材质加载时没有障碍,甜心!但是...

  • 当我将html图形放到可折叠的按钮中时,展开时,x轴标签的加载几乎与书脊重叠。如果我单击图形上的主页按钮(或使用平移或缩放进行交互),则标签会对齐到正确的位置。

在注意到抖动之前,我通过使用刻度参数开始了故障排除,例如使用ax.tick_params(axis='x',pad=10)plt.xticks(ticks = [],labels=[my label list])进行修改。当然,这是在我之前发现的:

  1. mpld3存在一些不受支持的刻度格式的已知问题,并且
  2. 当图形与可折叠对象交互或加载到可折叠对象外部时,标签间距正确。

上面的第二个注释使我相信这并不是标签间距问题,而是某种类型的加载/渲染错误,这是我是一个新手。以下是复制面食,重现了我观察到的问题。与图表互动后,您需要刷新页面以重新创建问题。

是否有某种方法可以在可折叠扩展时强制刷新JS内容?关于如何解决我这一生的小刺激,有什么想法吗?

import folium,branca
import matplotlib.pyplot as plt 
import mpld3
import os

fig = plt.figure()
plt.title('Testing!')
plt.xlabel('x labels')
plt.ylabel('y labels')
plt.bar([1,10],[5,9])
html_graph = mpld3.fig_to_html(fig)
html_graph2 = mpld3.fig_to_html(fig)


m = folium.Map(location=[39,-98],zoom_start=5,tiles="Stamen Terrain")

header_content="""
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
"""

html = """
<html>
<body>
<div class="container">

  {}
  <h5>This guy works just fine!</h5>
  <h2 class="btn btn-block" data-toggle="collapse" style="background-color: powderblue;" data-target="#demo" href="#">Click me!</h2>
  <div id="demo" class="collapse">
  {}
  <h5>And this guy requires you to click on the home button (or navigate through the graph) to get tick labels to move to the correct position. What gives?</h5>
  </div>
</div>

</body>
</html>
""".format(html_graph,html_graph2)


iframe = branca.element.IFrame(html=header_content+html,width=600,height=550)
c = folium.Marker([39,popup=folium.Popup(iframe,parse_html=True)).add_to(m)
m.save(os.path.join(r'[target folder]','folium_mpld3.html'))

P.S。我没有花很长时间编写代码,但是由于在这里的人们的帮助,我什至可以提高生产力。预先感谢您花一些时间在此上的人。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?