Home > Article > Backend Development > How to draw a 3D geographic chart with Python
How to draw 3D geographic charts with Python
Overview:
Drawing 3D geographic charts can help us understand geographic data and spatial distribution more intuitively. Python, as a powerful and easy-to-use programming language, provides many libraries and tools for drawing various types of geographical charts. In this article, we will learn how to draw 3D geographic charts using the Python programming language and some popular libraries such as Matplotlib and Basemap.
Environment preparation:
Before we start, we need to make sure that Python and some necessary libraries have been installed. It is assumed here that you have installed Python 3.
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from mpl_toolkits.basemap import Basemap import numpy as npStep 2: Prepare dataNext, we need to prepare some data to draw 3D geographical charts. Here, we use the geographic information system (GIS) function provided by the Basemap library to obtain the geographical coordinate data of a certain area. We then use the NumPy library to generate some random data that will be used to draw 3D graphics.
# 创建一个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))Step 3: Draw a 3D geographical chartNow, we can use Matplotlib and mpl_toolkits.mplot3d to create a 3D geographical chart. First, we create a Figure object and an Axes3D object, and then use the plot_surface method of the Axes3D object to draw 3D graphics.
# 创建一个Figure对象 fig = plt.figure() # 创建一个Axes3D对象 ax = fig.add_subplot(111, projection='3d') # 绘制3D图表 ax.plot_surface(lons, lats, data)Step 4: Set chart style and display chartFinally, we can set some chart styles, such as titles, labels and grid lines, etc., and then use the plt.show() method to display the chart.
# 设置图表的样式 ax.set_xlabel('Longitude') ax.set_ylabel('Latitude') ax.set_zlabel('Data') ax.set_title('3D Geographical Chart') # 显示图表 plt.show()Full code example:Here is the complete code example for the above steps:
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()Summary:By using the Python programming language and some popular Library, we can easily draw various types of 3D geographical charts. The above sample code shows how to use Matplotlib, Basemap and mpl_toolkits.mplot3d library to draw 3D geographical charts. You can adjust the chart's style and settings to suit your needs. Hope this article can help you draw beautiful 3D geographical charts in Python.
The above is the detailed content of How to draw a 3D geographic chart with Python. For more information, please follow other related articles on the PHP Chinese website!