[matplotlib 3D] 2.三次元グラフに棒グラフを並べて表示

matplotlib 3D

はじめに

3次元グラフ上に棒グラフを並列させて表示する方法について説明する。

コード

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

スタイルの適用

棒グラフの設定と表示

要素を同時に取得して使いたい場合は、pythonの組み込み関数zip を用いる。[1]
この場合、yticksの3が’m’(マゼンタ)と対応する。

np.arange(10)で0〜9までの数列を作成し、np.random.rand(10)で0〜1の乱数を10個作成する。

cs = [c] * len(x)によって、cはcolorsに該当するので、それぞれの色の文字列の配列が生成される。

cs[9] = ‘k’で、csの9個目は’k'(黒)となるので、各色の最後の色は黒となる。マゼンタのときには下記のようになる。

ax.bar(x, y, zs=k, zdir=’y’, color=cs, alpha=0.7)で棒グラフを表示する。zs=k, zdir=’y’でy軸方向にオフセットさせて棒グラフを並べることができる。

軸の設定

X軸方向に棒グラフを並べる

zdir=’x’とすればX軸方向に棒グラフを並べることができる。

参考

Python, zip関数の使い方: 複数のリストの要素をまとめて取得 | note.nkmk.me
Pythonの組み込み関数zip()は複数のイテラブルオブジェクト(リストやタプルなど)の要素をまとめる関数。forループで複数のリストの要素を取得する際などに使う。組み込み関数 - zip() — Python 3.7.1 ドキュメント ここではzip()関数の使い方として以下の内容について説明する。forループで複...
Create 2D bar graphs in different planes — Matplotlib 3.1.0 documentation

コメント