gpt4 book ai didi

python - python中的热图表示给定矩形区域中的(x,y)坐标

转载 作者:行者123 更新时间:2023-12-01 02:21:32 25 4
gpt4 key购买 nike

假设我们有 x,y 坐标作为输入,其中 x 在范围 (0,300) 内,y 在范围 (0,400) 内我想将所有这些坐标绘制为宽度在 (0,300) 之间、高度在 (0,400) 之间的矩形网格中的热图。

使用seaborn或matplotlib,我可以绘制散点图,但很难将这些点绘制为热图。

x = numpy.random.randint(0, high=50, size=5000, dtype='l')
y = numpy.random.randint(0, high=50, size=5000, dtype='l')

因此,如果我的样本大小是 5000 个点,并且所有点都几乎在 x 作为 (0,50) 和 y 作为 (0,50) 的范围内,在 300x400 的矩形空间中表示它们应该表现出最高的坐标密度在 50x50 空间中。

有人可以指导我如何表示这些数据吗?

为了测试和绘制散点图,我使用了seaborn的lmplot函数。

df = pd.DataFrame()

df['x'] = pd.Series(numpy.random.randint(0, high=320, size=5000, dtype='l'))
df['y'] = pd.Series(numpy.random.randint(0, high=480, size=5000, dtype='l'))
sns.set_style('whitegrid')
sns.lmplot('x','y',data=df,
palette='coolwarm',size=10,fit_reg=False)
plt.show()

最佳答案

看来这里想要的是二维直方图。这可以使用plt.hist2d来绘制。

示例:

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rayleigh(50, size=5000)
y = np.random.rayleigh(50, size=5000)


plt.hist2d(x,y, bins=[np.arange(0,400,5),np.arange(0,300,5)])

plt.show()

enter image description here

关于python - python中的热图表示给定矩形区域中的(x,y)坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47915951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com