You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整迈阿密地图图片尺寸以适配房价聚类可视化?

解决迈阿密地图图片与房价聚类散点图适配问题

你的问题核心是地图图片的宽高比与设置的地理范围(extent)比例不匹配,导致图片拉伸变形,无法和经纬度散点正确对齐。以下是具体的解决方案:

关键修改点

  • 计算图片原生宽高比,确保显示时保持比例不变
  • 强制坐标轴范围与地图的地理范围一致,避免散点和地图错位

修改后的代码

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

miami = mpimg.imread('/Users/zahidlaguna/Downloads/Miami.png')
img_height, img_width = miami.shape[:2]
# 计算图片宽高比
img_aspect = img_width / img_height
# 定义地理范围
extent = [-80.5, -79.5, 25.5, 26.5]
# 计算地理范围的宽高比
geo_aspect = (extent[1] - extent[0]) / (extent[3] - extent[2])

fig, ax = plt.subplots(figsize=(8, 8))
# 绘制散点图
ax.scatter(X_train['LONGITUDE'], X_train['LATITUDE'], c=fits[3].labels_, cmap='Set1', alpha=0.5)
# 显示地图,设置aspect参数匹配宽高比
ax.imshow(miami, extent=extent, alpha=0.5, aspect=img_aspect / geo_aspect)
# 锁定坐标轴范围与地图范围一致
ax.set_xlim(extent[0], extent[1])
ax.set_ylim(extent[2], extent[3])

plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.title('Miami Housing Clusters')
plt.show()

额外说明

  1. 如果你的迈阿密地图图片对应的实际地理范围和你设置的extent不一致,需要先确认图片正确的经纬度范围,再修改extent参数。
  2. 若希望保持坐标轴为正方形,可以调整figsize的比例,比如根据图片宽高比设置figsize=(10, 10/img_aspect),这样整体显示更协调。

内容的提问来源于stack exchange,提问作者Zahid Laguna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 09:43:15