2024-06-12 03:38:35 发布
网友
我有一组(x,y)数据点,每个点都有一个附加值。我想创建一个热图,它使用附加值来确定颜色,并使用颜色强度/透明度来确定频率。在
我能用matplotlib实现这个吗?谢谢!在
编辑:我正在处理交通事故数据。(x,y)点只是经纬度对,每个点都有一个对应的事故严重程度值。理想的绘图将使用颜色来表示严重程度,然后使用透明度来表示位置点的频率。例如,事故数较小但严重程度较高的地方将显示为透明的红色,但事故数较多但严重事故不多的地方则为不透明的蓝色
试试这个:
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设置为热图值。在
x
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()
试试这个:
你可以在这里看到一个例子http://matplotlib.org/examples/images_contours_and_fields/pcolormesh_levels.html
如果你需要更多信息,请告诉我。或者我不正确的假设。在
你可以使用数字历史记录2d。只需将
x
设置为x值列表,y
设置为y值列表,并将weights
设置为热图值。在相关问题 更多 >
编程相关推荐