Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melukis carta geografi 3D dengan Python
Cara melukis carta geografi 3D dengan Python
Ikhtisar:
Melukis carta geografi 3D boleh membantu kami memahami data geografi dan pengedaran spatial dengan lebih intuitif. Python, sebagai bahasa pengaturcaraan yang berkuasa dan mudah digunakan, menyediakan banyak perpustakaan dan alatan untuk melukis pelbagai jenis carta geografi. Dalam artikel ini, kita akan belajar cara melukis carta geografi 3D menggunakan bahasa pengaturcaraan Python dan beberapa perpustakaan popular seperti Matplotlib dan Basemap.
Persediaan persekitaran:
Sebelum kita mula, kita perlu memastikan Python dan beberapa perpustakaan yang diperlukan dipasang. Ini mengandaikan bahawa anda telah memasang Python 3.
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from mpl_toolkits.basemap import Basemap import numpy as npLangkah 2: Sediakan dataSeterusnya, kita perlu menyediakan beberapa data untuk melukis carta geografi 3D. Di sini, kami menggunakan fungsi sistem maklumat geografi (GIS) yang disediakan oleh perpustakaan Basemap untuk mendapatkan data koordinat geografi kawasan tertentu. Kami kemudian menggunakan perpustakaan NumPy untuk menjana beberapa data rawak yang akan digunakan untuk melukis grafik 3D.
# 创建一个Basemap对象,设置地图投影和区域范围 m = Basemap(projection='mill',llcrnrlat=20,urcrnrlat=50, llcrnrlon=100,urcrnrlon=160,resolution='c') # 使用Basemap对象来获取某个地区的地理坐标数据 lons, lats = m.makegrid(81, 61) # 生成一些随机数据 data = np.random.rand(len(lons), len(lats))Langkah 3: Lukis carta geografi 3DKini, kita boleh menggunakan Matplotlib dan mpl_toolkits.mplot3d untuk mencipta carta geografi 3D. Mula-mula, kami mencipta objek Rajah dan objek Axes3D, dan kemudian menggunakan kaedah plot_surface objek Axes3D untuk melukis grafik 3D.
# 创建一个Figure对象 fig = plt.figure() # 创建一个Axes3D对象 ax = fig.add_subplot(111, projection='3d') # 绘制3D图表 ax.plot_surface(lons, lats, data)Langkah 4: Tetapkan gaya carta dan carta paparanAkhir sekali, kita boleh menetapkan beberapa gaya carta, seperti tajuk, label dan garisan grid, dsb., dan kemudian gunakan kaedah plt.show() untuk memaparkan carta.
# 设置图表的样式 ax.set_xlabel('Longitude') ax.set_ylabel('Latitude') ax.set_zlabel('Data') ax.set_title('3D Geographical Chart') # 显示图表 plt.show()Contoh kod penuh:Berikut ialah contoh kod lengkap untuk langkah di atas:
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from mpl_toolkits.basemap import Basemap import numpy as np # 创建一个Basemap对象,设置地图投影和区域范围 m = Basemap(projection='mill',llcrnrlat=20,urcrnrlat=50, llcrnrlon=100,urcrnrlon=160,resolution='c') # 使用Basemap对象来获取某个地区的地理坐标数据 lons, lats = m.makegrid(81, 61) # 生成一些随机数据 data = np.random.rand(len(lons), len(lats)) # 创建一个Figure对象 fig = plt.figure() # 创建一个Axes3D对象 ax = fig.add_subplot(111, projection='3d') # 绘制3D图表 ax.plot_surface(lons, lats, data) # 设置图表的样式 ax.set_xlabel('Longitude') ax.set_ylabel('Latitude') ax.set_zlabel('Data') ax.set_title('3D Geographical Chart') # 显示图表 plt.show()Ringkasan:Dengan menggunakan bahasa pengaturcaraan Python dan beberapa perpustakaan popular, kita boleh melukis pelbagai jenis carta geografi 3D dengan mudah. Kod sampel di atas menunjukkan cara menggunakan perpustakaan Matplotlib, Basemap dan mpl_toolkits.mplot3d untuk melukis carta geografi 3D. Anda boleh melaraskan gaya dan tetapan carta mengikut keperluan anda. Harap artikel ini dapat membantu anda melukis carta geografi 3D yang indah dalam Python.
Atas ialah kandungan terperinci Bagaimana untuk melukis carta geografi 3D dengan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!