首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib垂直延伸histogram2d

Matplotlib垂直延伸histogram2d
EN

Stack Overflow用户
提问于 2013-06-04 20:27:20
回答 2查看 1.8K关注 0票数 2

我使用的是以下代码:

代码语言:javascript
复制
fig = plt.figure(num=2, figsize=(8, 8), dpi=80,
                 facecolor='w', edgecolor='k')
x, y = [xy for xy in zip(*self.pulse_time_distance)]
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25))
extent = [-50, +50, 0, 10]
plt.imshow(H, extent=extent, interpolation='nearest')
plt.colorbar()

然而,为了生成2D直方图,这个图是垂直拉伸的,我根本不知道如何正确地设置它的大小:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-04 21:03:13

因为您使用的是imshow,所以事情变得很“紧张”。默认情况下,它假定您想要显示一个绘图的纵横比为1(以数据坐标表示)的图像。

如果您想禁用此行为,并让像素拉伸以填充绘图,只需指定aspect="auto"

例如,要重现您的问题(基于您的代码片段):

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

# Generate some data
x, y = np.random.random((2, 500))
x *= 10

# Make a 2D histogram
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25))

# Plot the results
fig, ax = plt.subplots(figsize=(8, 8), dpi=80, facecolor='w', edgecolor='k')

extent = [-50, +50, 0, 10]
im = ax.imshow(H, extent=extent, interpolation='nearest')
fig.colorbar(im)

plt.show()

我们可以通过在imshow调用中添加aspect="auto"来解决这个问题:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

# Generate some data
x, y = np.random.random((2, 500))
x *= 10

# Make a 2D histogram
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25))

# Plot the results
fig, ax = plt.subplots(figsize=(8, 8), dpi=80, facecolor='w', edgecolor='k')

extent = [-50, +50, 0, 10]
im = ax.imshow(H, extent=extent, interpolation='nearest', aspect='auto')
fig.colorbar(im)

plt.show()

票数 4
EN

Stack Overflow用户

发布于 2013-06-04 20:45:55

不确定,但我认为你应该试着修改你的historgram2d:

代码语言:javascript
复制
H, xedges, yedges = np.histogram2d(x, y, bins=(25, 25), range=[[-50, 50], [0, 10]])

编辑:我不知道如何精确地调整比例,但是使用aspect='auto',matplotlib猜对了:

代码语言:javascript
复制
plt.imshow(hist.T, extent=extent, interpolation='nearest', aspect='auto')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16917836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档