【问题标题】:Heat Map of Spatial Data in PythonPython中空间数据的热图
【发布时间】:2016-07-08 10:52:54
【问题描述】:

我正在编写 Python 代码。我的数据集由三列组成,前两列是坐标,第三列是热量估计

                   X              Y      heat
0      497935.000000  179719.000000  0.048428
1      497935.000000  179719.000000  0.029399
2      497935.000000  179719.000000  0.066734
3      497935.000000  179719.000000  0.065524
4      497935.000000  179719.000000  0.062458
5      497935.000000  179719.000000  0.032225
6      497935.000000  179719.000000  0.028557
7      497463.000000  179526.000000  0.000388
8      497899.000000  179305.000000  0.000733
9      497805.000000  179364.000000  0.000158
10     498264.000000  180349.000000  0.000036
11     498020.000000  179602.000000  0.003149
...              ...            ...       ...

我想在 XY 平面上绘制数据,为每个点分配颜色以反映其热值。目前我尝试使用命令

plt.scatter(df.X, df.Y)

但是在 Python 中,每个点的颜色取决于它的热度。 提前致谢

【问题讨论】:

  • 请说明您到目前为止尝试了什么,您在哪里卡住了,谢谢!
  • @plamut 我所做的只是 plt.plot(data.X,data.Y,'.b'),但关键是我不知道如何为每个数据点着色/
  • 也许通过color = data.heat 选项? (不确定,但对我来说这似乎很合乎逻辑)

标签: python pandas spatial heatmap


【解决方案1】:

来自documentation

关键字 c 可以作为列名来为每个点提供颜色:

In [64]: df.plot.scatter(x='a', y='b', c='c', s=50);

所以你需要做的就是简单地指定heat 列包含关于每个点颜色的信息:

df.plot.scatter(x=data.X, y=data.Y, c=data.heat)

如果要应用自定义颜色图,还有cmap参数,可以指定不同的color map

您还可以在scatter() 方法的文档中阅读更多信息。

【讨论】:

  • 你知道如何让它变得多彩吗?
  • 请看我更新的答案 - 有一个cmap 参数,允许您自定义热图(仅当c 是数字列表时适用)。
猜你喜欢
  • 2020-12-18
  • 2021-08-10
  • 2019-03-31
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 2021-12-19
  • 2018-12-21
  • 2021-11-20
相关资源
最近更新 更多