[matplotlib 3D] 15. 3D散布図

matplotlib 3D
スポンサーリンク
スポンサーリンク

はじめに

3次元空間に散布図をプロットする方法について解説する。

スポンサーリンク

コード

スポンサーリンク

解説

def randrange(n, vmin, vmax):
    return (vmax - vmin)*np.random.rand(n) + vmin

ランダムな数列を生成する関数。np.random.rand(n)はn個のランダムな0〜1の数列。

xは(100, 23, 32)を関数にいれて数列を作成。
yは(100, 0, 100)で数列作成。
zは[zlow, zhigh]が[50,-25]と[-30, -5]の2つあるので、(100, 50,-25)と(100, -30,-5)の2つの数列ができる。

n = 100

for c, m, zlow, zhigh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
xs = randrange(n, 23, 32) ys = randrange(n, 0, 100) zs = randrange(n, zlow, zhigh)
ax.scatter(xs, ys, zs, c=c, marker=m)

c=c, marker=m となっているので、最初のzsはc=’r’は色が赤、marker=’o’は丸、つまり赤丸でプロットされる。もうひとつの数列は青い三角でプロットされる。

にほんブログ村 IT技術ブログへ
にほんブログ村 IT技術ブログ Pythonへ
スポンサーリンク
matplotlib 3Dpython
スポンサーリンク
この記事をシェアする
sabopy.comをフォローする
スポンサーリンク
サボテンパイソン

コメント