[matplotlib 3D] 12. 3Dポリゴングラフ

matplotlib 3D

 

polys3d

コード

でできる図。

解説

    return mcolors.to_rgba(arg, alpha=0.6)

rgbaに変換する関数。aはalphaで透明度。1がmax,0がmin。値が小さいほど透明度高まる。

*zip(xlist, ylist)

zipは(xlist, ylist)をひとまとめにするもので、*をつけることで戻している。そうすることで、(#, #)のかたちで連続するリストをつくることができる。[1]

verts = []

からのリストを作る。

xs = np.linspace(0., 10., 26)
zs = range(4)

xsは0〜10の26個の配列, zsは[0,1,2,3]。

for i in zs:
    ys = np.random.rand(len(xs))
    verts.append(polygon_under_graph(xs, ys))

ysはlen(xs)の個数のランダムな配列。
verts.appendで関数(polygon_under_graph)の配列を足していく。
zsがrange(4)なので4回繰り返す。

poly = PolyCollection(verts, facecolors=[cc('r'), cc('g'), cc('b'), cc('y')])

PolyCollectionでポリゴンを作成。vertの各配列にfacecolorで色を設定する。

ax.add_collection3d(poly, zs=zs, zdir='y')

add_collection3dにより、2次元データを軸をずらして複数配置、zs=0,1,2,3でzdir=yなので、y=0, 1, 2, 3にvertsの各配列がプロットされる。

透明度をかえた場合。

alpha = 0.2


参考

zip関数の使い方 – My Life as a Mock Quant

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

コメント