はじめに
matplotlibのmplot3dで作成する3Dグラフで面グラフを並べて表示する。
コード
解説
モジュールのインポート
バージョン
データの生成
xsは0〜10の51個の配列, zsは[0,1,2,3]となる。
verts = []でからのリストを作り、データを追加していく。
ysはlen(xs)=51個のランダムな配列となる。
verts.appendで関数(polygon_under_graph)の配列を足していく。
zsがrange(4)なので4回繰り返す。
関数polygon_under_graphは、最初と最後のyの値を0とし、間のデータをzipで取得している。
zipは(xlist, ylist)をひとまとめにするもので、*をつけることで戻している。そうすることで、(#, #)のかたちを要素としてもつリストを作成することができる。
3D面グラフの表示
PolyCollectionでポリゴンを作成し、vertの各配列にfacecolorで色を設定する。
add_collection3dにより、2次元データを軸をずらして複数配置する。zs=0,1,2,3でzdir=xなので、x=0, 1, 2, 3にvertsの各データがプロットされることになる。
参考
Generate polygons to fill under 3D line graph — Matplotlib 3.1.2 documentation
コメント