Matplotlib を使用して 3D グラフィックスを描画する方法

爱喝马黛茶的安东尼
リリース: 2019-06-04 17:58:35
転載
3319 人が閲覧しました

Matplotlib は、さまざまなハードコピー形式およびさまざまなプラットフォーム上のインタラクティブ環境で出版品質のグラフィックスを生成できる Python 2D プロット ライブラリです。

Matplotlib を使用して 3D グラフィックスを描画する方法

前の記事では、グラフィックの色と線を塗りつぶす方法について話しました。今日は、matplotlib を使用して次のことを行う方法を説明します。 3D グラフィックを作成します。私はこれまでさまざまな 2D グラフィックスを試してきましたが、3D グラフィックスには誰もが興味を持つと思います。

Matplotlib にはすでに 3 次元グラフィックスが組み込まれているため、何もダウンロードする必要はありません。まず、いくつかの完全なモジュールを取り込む必要があります。

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
ログイン後にコピー

Axes3d は、実際に 3 次元で何かを描画するためにさまざまな種類の軸が必要なため、使用されます。以下:

fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d')
ログイン後にコピー

ここでは、通常どおり Figure を定義し、次に、ax1 を通常のサブフィギュアとして定義します。ただし、今回のみ 3D 投影を使用します。これは、Matplotlib に 3 次元データを提供していることを思い出させるために行う必要があります。

さあ、3D データを作成しましょう:

x = [1,2,3,4,5,6,7,8,9,10]
y = [5,6,7,8,2,5,6,3,7,2]
z = [1,2,6,3,2,7,3,3,7,2]
ログイン後にコピー

次に、それをプロットします。まず、簡単なワイヤーフレームの例を示します:

ax1.plot_wireframe(x,y,z)
ログイン後にコピー

最後に:

ax1.set_xlabel('x axis')
ax1.set_ylabel('y axis')
ax1.set_zlabel('z axis')
plt.show()
ログイン後にコピー

完全なコードは次のとおりです:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import style
style.use('fivethirtyeight')
fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d')
x = [1,2,3,4,5,6,7,8,9,10]
y = [5,6,7,8,2,5,6,3,7,2]
z = [1,2,6,3,2,7,3,3,7,2]
ax1.plot_wireframe(x,y,z)
ax1.set_xlabel('x axis')
ax1.set_ylabel('y axis')
ax1.set_zlabel('z axis')
plt.show()
ログイン後にコピー

結果は次のとおりです (使用されているスタイルを含む):

Matplotlib を使用して 3D グラフィックスを描画する方法

#概要##これらの 3D グラフィックスは操作できます。まず、マウスの左ボタンをクリックしてドラッグすることでグラフィックを移動できます。マウスの右ボタンをクリックしてドラッグし、拡大または縮小することもできます。

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

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!