gpt4 book ai didi

python - 在 Python MatPlotLib 中生成频率热图,从 .csv 文件读取 X 和 Y 坐标

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:43 27 4
gpt4 key购买 nike

我最近偶然发现了一个关于 how to generate a heatmap of frequencies in Python using the MatPlotLib module 的类似问题.

这篇文章非常有用,我可以让各个脚本运行并为代码固有生成的随机测试数据创建热图。但是,我无法调整代码来为我正在使用的数据创建热图。数据采用逗号分隔格式 (.csv)。

我目前在此 .csv 文件中保存了 3788 对平均质量评分。这些平均质量评级的范围都是 0 - 5。我正在尝试创建一个热图,在 x 轴和 y 轴(0-.499、.5-.999、1-1.499)上以 0.5 增量对数据进行分类ETC)。

我想将 .csv 文件的第一列 (webqualityratings) 导入为热图的 x 值,将 .csv 文件的第二列 (inpersonqualityratings) 导入为热图的 y 值。

我试图改编由“ptomato”发布并由 Mike Graham 编辑的代码如下:

import numpy as np   
import numpy.random
import matplotlib.pyplot as plt

# Generate some test data
x = np.random.randn(8873)
y = np.random.randn(8873)

heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
plt.clf()
plt.imshow(heatmap, extent=extent)
plt.show()

如果有人可以帮助我调整此代码以按照指定从我的 .csv 文件中读取数据,我将永远感激不已!

最佳答案

由于您可以随意使用 numpy 并且假设您的 csv 文件运行良好,您可以使用 numpy.loadtxt()

import numpy as np   
import matplotlib.pyplot as plt

dat = np.loadtxt('mydata.csv')

x, y = dat[:,0], dat[:,1]

heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
plt.clf()
plt.imshow(heatmap, extent=extent)
plt.show()

关于python - 在 Python MatPlotLib 中生成频率热图,从 .csv 文件读取 X 和 Y 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873823/

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