在任何图形库的一般回答中,您都需要执行以下操作:maxSize = 10 #The maximum radius of the circles you wish to draw.
maxCount = max(counts)
for lat, long, count in zip(latitudes, longitudes, counts):
draw_circle(lat, long, count/maxCount*maxSize) #Some drawing library, taking x, y, radius.
zip()允许您加入三个列表并在一个循环中迭代它们。
将计数除以最大计数可以得到一个相对的大小比例,然后将其乘以所需的圆大小。如果你也想改变颜色,你可以这样做:maxSize = 10 #The maximum radius of the circles you wish to draw.
maxCount = max(counts)
for lat, long, count in zip(latitudes, longitudes, counts):
intensity = count/maxCount
draw_circle(lat, long, intensity*maxSize, Color(intensity*255, 0, 0)) #Some drawing library, taking x, y, radius, colour.
随着强度的增加,产生从黑色到红色的滑动刻度。
您可能需要调整纬度和经度值以生成正确的x和y值,具体取决于您希望在最终图像中显示的大小和要输入的值。如果在降低最大大小时发现计数太大而无法显示,而较小的项太小,则可能需要考虑对数比例而不是线性强度。
用实际的图形库实现这一点应该很简单,但取决于库本身。