用散射数据生成热图

2024-06-12 03:38:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组(x,y)数据点,每个点都有一个附加值。我想创建一个热图,它使用附加值来确定颜色,并使用颜色强度/透明度来确定频率。在

我能用matplotlib实现这个吗?谢谢!在

编辑:我正在处理交通事故数据。(x,y)点只是经纬度对,每个点都有一个对应的事故严重程度值。理想的绘图将使用颜色来表示严重程度,然后使用透明度来表示位置点的频率。例如,事故数较小但严重程度较高的地方将显示为透明的红色,但事故数较多但严重事故不多的地方则为不透明的蓝色


Tags: 数据编辑matplotlib颜色地方频率经纬度热图
2条回答

试试这个:

import matplotlib.pyplot as plt
from matplotlib import cm
f = plt.figure()
ax = f.add_subplot(111)
ax.pcolormesh(x,y,f(x,y), cmap = cm.Blues)
f.show()

你可以在这里看到一个例子http://matplotlib.org/examples/images_contours_and_fields/pcolormesh_levels.html

如果你需要更多信息,请告诉我。或者我不正确的假设。在

你可以使用数字历史记录2d。只需将x设置为x值列表,y设置为y值列表,并将weights设置为热图值。在

import numpy as np
import matplotlib.pyplot as plt

# make sure to set x, y, and weights here

heatmap, _, _ = np.histogram2d(x, y, weights=weights)

plt.clf()
plt.imshow(heatmap)
plt.show()

相关问题 更多 >