ホームページ  >  記事  >  バックエンド開発  >  Python で 3D 地理グラフを描画する方法

Python で 3D 地理グラフを描画する方法

WBOY
WBOYオリジナル
2023-09-28 10:19:521032ブラウズ

Python で 3D 地理グラフを描画する方法

Python で 3D 地理グラフを描画する方法

概要:

3D 地理グラフを描画すると、地理データと空間分布をより直観的に理解するのに役立ちます。 Python は強力で使いやすいプログラミング言語として、さまざまな種類の地理図を描画するためのライブラリとツールを多数提供しています。この記事では、Python プログラミング言語と、Matplotlib や Basemap などのいくつかの人気のあるライブラリを使用して 3D 地理グラフを描画する方法を学びます。

環境の準備:

開始する前に、Python といくつかの必要なライブラリがインストールされていることを確認する必要があります。ここでは、Python 3 がインストールされていることを前提としています。

    ベースマップ: 地理地図を描画するための地理情報システム (GIS) 機能を提供します。
  1. NumPy: 数値計算と配列操作のためのライブラリ。
  2. これらのライブラリをインストールしたら、Python を使用して 3D 地理図の描画を開始できます。
ステップ 1: 必要なライブラリをインポートする

まず、必要なライブラリをインポートする必要があります。 Matplotlib を使用して地理グラフを描画し、Basemap を使用して地理データを処理し、mpl_toolkits.mplot3d を使用して 3D グラフィックス効果を作成します。さらに、配列と数値計算を処理するために NumPy ライブラリをインポートする必要もあります。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.basemap import Basemap
import numpy as np

ステップ 2: データを準備する

次に、3D 地理グラフを描画するためのデータを準備する必要があります。ここでは、Basemap ライブラリが提供する地理情報システム (GIS) 機能を使用して、特定のエリアの地理座標データを取得します。次に、NumPy ライブラリを使用して、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))

ステップ 3: 3D 地理グラフを描画する

ここで、Matplotlib と mpl_toolkits.mplot3d を使用して 3D 地理グラフを作成できます。まず、Figure オブジェクトと Axes3D オブジェクトを作成し、Axes3D オブジェクトの Lot_surface メソッドを使用して 3D グラフィックスを描画します。

# 创建一个Figure对象
fig = plt.figure()

# 创建一个Axes3D对象
ax = fig.add_subplot(111, projection='3d')

# 绘制3D图表
ax.plot_surface(lons, lats, data)

ステップ 4: チャート スタイルを設定してチャートを表示する

最後に、タイトル、ラベル、グリッド線などのいくつかのチャート スタイルを設定し、plt.show を使用します。 () メソッドでチャートを表示します。

# 设置图表的样式
ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
ax.set_zlabel('Data')
ax.set_title('3D Geographical Chart')

# 显示图表
plt.show()

完全なコード例:

上記の手順の完全なコード例は次のとおりです:

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()

概要:

Python プログラミング言語を使用し、いくつかの人気のあるライブラリを使用すると、さまざまな種類の 3D 地理図を簡単に描画できます。上記のサンプル コードは、Matplotlib、Basemap、および mpl_toolkits.mplot3d ライブラリを使用して 3D 地理チャートを描画する方法を示しています。ニーズに合わせてグラフのスタイルと設定を調整できます。この記事が Python で美しい 3D 地理図を描画するのに役立つことを願っています。

以上がPython で 3D 地理グラフを描画する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。