【问题标题】:Matplotlib: How to increase size of bin in Heatmap (hexbin)?Matplotlib:如何增加热图中的 bin 大小(hexbin)?
【发布时间】:2017-03-24 19:49:37
【问题描述】:

Matplotlib:如何设置使用 hexbin 创建的 bin 的大小?我遇到的问题是垃圾箱太小了,以至于图形看起来有点奇怪。

【问题讨论】:

  • 你试过玩optional keyword arguments中的任何一个吗?
  • @wwi 感谢您的快速反应:)是的,我做到了。例如,设置范围选项以某种方式导致零分割,而其他设置似乎不适合。所以我很无奈!
  • 我们很难解释 the graphic looks somehow weird. 并提供一个看起来有点不奇怪的解决方案。

标签: python matplotlib plot heatmap binning


【解决方案1】:

使用pylab_examples example code: hexbin_demo.py,您可以轻松地使用所有可选参数来查看它们如何影响同一数据集。这是gridsize 所做的:


我只是复制并粘贴了演示中的代码(包括数据创建部分),然后像这样为同一参数制作了具有不同值的子图

plt.subplots_adjust(hspace=0.5)
plt.subplot(132)
plt.hexbin(x, y, cmap=plt.cm.YlOrRd_r)
plt.axis([xmin, xmax, ymin, ymax])
plt.title("Gridsize 100 (default)")
cb = plt.colorbar()
cb.set_label('counts')

plt.subplot(133)
plt.hexbin(x, y, cmap=plt.cm.YlOrRd_r, gridsize = 200)
plt.axis([xmin, xmax, ymin, ymax])
plt.title("Gridsize 200")
cb = plt.colorbar()
cb.set_label('counts')

plt.subplot(131)
plt.hexbin(x, y, cmap=plt.cm.YlOrRd_r, gridsize = 10)
plt.axis([xmin, xmax, ymin, ymax])
plt.title("Gridsize 10")
cb = plt.colorbar()
cb.set_label('counts')

plt.show()
plt.close()

【讨论】:

  • 太好了,谢谢 : ) 你是否也知道如何防止单个 bin 相互重叠,这是我在更改 gridsize 参数时遇到的问题之一。
  • @ketbra,我不明白你所说的single bins from overlapping each other 是什么意思——也许你应该发布另一个问题,并包含最少的示例数据和图片来显示你试图阻止的事情——mcve
  • 为什么在上面的例子中 hexbins 被压扁了?是什么导致一些 hexbins 在任一维度上拉伸?例如,上面的那些看起来太高了,而不是完美的六边形。
  • @Cypridina - 纵横比??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 2011-10-22
  • 1970-01-01
  • 2015-10-15
  • 2018-09-22
  • 1970-01-01
相关资源
最近更新 更多