微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matplotlib分散-imshow偏移量

如何解决Matplotlib分散-imshow偏移量

我在imshow 128 x 128像素上叠加了点的散点图。如果您在这里仔细看:

this

对象并不总是完全落在相应像素的中心。我在imshow和起源上尝试了不同的插值,但没有任何变化。所以我想我可以覆盖一个网格,看看这个偏移量实际上是多少:

no_grid

,我注意到网格也恰好落在对象上,而不是imshow像素的中心。上面剧情的脚本是:

   fig = plt.figure(figsize=(15,8))
   plt.imshow(counts_pre[:,:,slice_z],cmap='viridis',interpolation=None)
   plt.scatter(j_index,i_index,s = 0.1,c = 'red',marker = 'o')

   myInterval=1.
   loc = matplotlib.ticker.MultipleLocator(base=myInterval)
   plt.gca().xaxis.set_minor_locator(loc)
   plt.gca().yaxis.set_minor_locator(loc)

   plt.grid(which="both",linewidth=0.72,color="white",alpha=0.1)
   plt.tick_params(which="minor",length=0)

   plt.show()

关于此偏移量为何存在以及如何解决它的任何想法?请注意,网格不是很均匀,即某些正方形是矩形。

编辑:

  1. 升级到最新的matplotlib版本无法解决 问题。
  2. 我创建的对象的条目为非零,这样我就知道这些点应该完全对齐,但是它们仍然不匹配。

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