[matplotlib 3D] 19. 3D surfaceプロットでの表面色の変更

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

はじめに

mplot3dのsurface plotで表面の色を変化させる方法について解説する。

スポンサーリンク

コード

スポンサーリンク

解説

X = np.arange(-5, 5, 0.25)
xlen = len(X)

Xは-5から0.25刻みで4.75までの配列。
xlenは配列の長さで40となる。

X, Y = np.meshgrid(X, Y)

meshgridでX.shapeは(40, 40)となる。

colortuple = ('y', 'b')
colors = np.empty(X.shape, dtype=str)
for y in range(ylen):
    for x in range(xlen):
        colors[x, y] = colortuple[(x + y) % len(colortuple)]

各データに色を設定するため、Xと同じ形の配列をつくって、そこに色をいれていく。
具体的には、xとyについて(0,0)から(40,40)に順次色を入れていく。
例えば、(x,y)=(2,3)のとき、colortuple[5 % len(colortuple)]となる。%は割ったときのあまりを返すので、5/2は2あまり1となり、colortuple[1]=’b'(青)となる

colortuple = (‘y’, ‘b’, ‘g’)とした場合

スポンサーリンク
matplotlib 3Dpython
スポンサーリンク
この記事をシェアする
sabopy.comをフォローする
スポンサーリンク
サボテンパイソン

コメント