首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib和numpy histogram2d轴问题

Matplotlib和numpy histogram2d轴问题
EN

Stack Overflow用户
提问于 2014-05-14 19:38:15
回答 2查看 1.7K关注 0票数 1

我在努力把轴线弄对:

我已经得到了xy值,并希望将它们绘制成二维直方图(以检查相关性)。为什么在每个轴上都有一个以0-9为限的直方图?如何让它显示实际值范围?

这是一个很小的例子,我希望在(3, 3)看到红色的“星星”

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

x = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
y = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
xedges = range(5)
yedges = range(5)
H, xedges, yedges = np.histogram2d(y, x)
im = plt.imshow(H, origin='low')
plt.show()

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-14 21:09:11

我认为问题有两个:

首先,您应该在直方图中包含5个回收箱(默认设置为10个):

代码语言:javascript
复制
H, xedges, yedges = np.histogram2d(y, x,bins=5)

其次,要设置轴值,可以使用extent参数,如 man pages所示

代码语言:javascript
复制
im = plt.imshow(H, interpolation=None, origin='low',
                extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

票数 4
EN

Stack Overflow用户

发布于 2014-05-14 19:43:06

如果我正确理解,您只需设置interpolation='none'

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

x = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
y = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3)
xedges = range(5)
yedges = range(5)
H, xedges, yedges = np.histogram2d(y, x)
im = plt.imshow(H, origin='low', interpolation='none')

看上去对吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23663646

复制
相关文章

相似问题

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