【问题标题】:How to do a heatMap on python如何在python上做一个热图
【发布时间】:2019-02-14 18:53:46
【问题描述】:

我将第一次使用 Pandas 和 Matplotlib 在 python 3 中制作热图。 我尝试在 jupyter notebook 中使用插件 gmaps。 我上传了一个包含 2 列(长、纬度)的 csv 文件。

import gmaps
import gmaps.datasets
gmaps.configure(api_key=os.environ["GOOGLE_API_KEY")
locations = gmaps.datasets.load_dataset("my_file.csv")
fig = gmaps.figure()
fig.add_layer(gmaps.heatmap_layer(loactions))
fig

我收到以下错误:

    676         except KeyError:
    677             # raise KeyError with the original key value
--> 678             raise KeyError(key) from None
    679         return self.decodevalue(value)
    680 

KeyError: 'GOOGLE_API_KEY'

如何读取我的文件来解决它? 谢谢

【问题讨论】:

  • 看看 Seaborn KDE Plot with shade = True seaborn.pydata.org/generated/seaborn.kdeplot.html
  • @DanielLabbe 谢谢你的回答。我编辑了我的问题,你能帮我做热图吗?
  • @Dorine 你能在你指定'myfile.csv'的地方显示代码吗?错误与你传递该csv文件的方式有关。最简单的做法是确保 csv 文件与您正在运行的 python 脚本位于同一目录中
  • @cgclip 我编辑了我的问题 我在位置指定了我的文件 csv = gmaps.datasets.load_dataset("my_file.csv")
  • @cgclip 我的代码错了吗?

标签: python python-3.x pandas


【解决方案1】:

您的代码中有一些需要更正的地方。我将提供一个清单,列出我必须做的事情才能让它在我的环境中工作(jupyter notebook)。

1) 确保在您的环境中安装了 gmap。您可以通过以下方式实现此目的:

pip install gmaps

2) 在 jupyter 中,我遇到了一个问题,即显示地图的 js 未正确加载。安装包(步骤 1)后,您必须停止所有 jupyter 实例并运行以下命令:

jupyter nbextension enable --py gmaps

3) 您必须拥有有效的 Google API 密钥,才能替换代码中的 GOOGLE_API_KEY 占位符。顺便说一句,缺少一个右方括号。要创建您的 API 密钥,请按照 this link 的说明进行操作。 请注意,这是强制性的。

4) 如果您使用自己的文件,则不必导入 gmaps.datasets。该模块加载预定义的数据集。例如,您可以使用 Pandas 读取 csv。

执行整个操作的代码是:

import pandas as pd
import gmaps
gmaps.configure(api_key='YOUR_API_KEY') # you have to replace the value YOUR_API_KEY by the key generated in the step 3.
locations = pd.read_csv('my_file.csv')
fig = gmaps.figure()
fig.add_layer(gmaps.heatmap_layer(locations))
fig

这会产生以下地图,从我的角度来看,我无法判断它是否正确。

编辑: 您的文件具有 Long 和 Lat 列的顺序,API 需要 Lat 和 Long。更改顺序对我来说更有意义:

【讨论】:

  • 这个答案能解决你的问题吗,@dorine?
  • @DanielLabbe,我完全按照这个,但我没有看到任何地图。也没有错误。知道为什么会发生这种情况吗?
猜你喜欢
  • 1970-01-01
  • 2016-05-11
  • 2019-03-23
  • 2021-02-26
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 2020-12-06
  • 2020-09-18
相关资源
最近更新 更多