要制作交互式地理空間數據圖,可以使用Matplotlib的Basemap工具包和mpl_toolkits中的mplot3d模塊。以下是一個簡單的示例代碼,展示如何使用Matplotlib制作交互式地理空間數據圖:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from mpl_toolkits.mplot3d import Axes3D
# 創建一個地圖實例
m = Basemap(projection='ortho', lat_0=45, lon_0=-100)
# 創建一個3D坐標軸
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 繪制地球表面
lats = np.linspace(-90, 90, 100)
lons = np.linspace(-180, 180, 100)
lons, lats = np.meshgrid(lons, lats)
x, y = m(lons, lats)
z = np.sin(lons*np.pi/180) * np.cos(lats*np.pi/180)
ax.plot_surface(x, y, z, cmap='viridis')
# 設置地圖邊界
m.drawcoastlines()
m.drawcountries()
# 顯示圖形
plt.show()
在這個示例中,我們首先創建了一個Basemap實例,然后創建了一個3D坐標軸,并在地球表面上繪制了一個表面圖。最后,我們繪制了地圖的邊界,并通過調用plt.show()
方法顯示圖形。
通過這種方式,您可以使用Matplotlib制作交互式地理空間數據圖,展示地球表面的數據。您還可以根據需要自定義圖形的樣式和顯示方式。