如何重新调整图像大小以使聚类正确绘制?

问题描述 投票:0回答:2

我遇到了这个问题,我正在尝试正确拟合这张迈阿密地图,以正确显示我的迈阿密房价集群。有人可以帮忙吗?我尝试了多种缩放方法,但找不到解决方案。

这是我的代码:

miami = mpimg.imread('/Users/zahidlaguna/Downloads/Miami.png')
img_height, img_width = miami.shape[: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)
ax.imshow(miami, extent = [-80.5, -79.5, 25.5, 26.5], alpha = 0.5)
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.title('Miami Housing Clusters')
plt.show()

代码的输出:

Resulting plot

我尝试了多种重新缩放的方法,只是为了看看它看起来如何。

python matplotlib geospatial
2个回答
0
投票

您面临的问题可能与地图图像与数据点的正确对齐和缩放有关。

这是代码的更新版本:

import matplotlib.pyplot as plt
import matplotlib.image as mping

miami = mpimg.imread('/Users/zahidlaguna/Downloads/Miami.png')
img_height, img_width = miami.shape[: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)
ax.imshow(miami, extent = [-80.5, -79.5, 25.5, 26.5], alpha = 0.5)
ax.set_aspect('equal')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.title('Miami Housing Clusters')
plt.show()

0
投票

您的代码看起来不错,但从我通过观察地图可以看出,您的地图

extent
的坐标是错误的。看起来它们应该是关于
[-80.329, -80.131, 25.694, 25.872]
— 但请检查这些;显然,您应该使用尽可能精确的值。

© www.soinside.com 2019 - 2024. All rights reserved.