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

matplotlib 3D

はじめに

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

コード

解説

モジュールのインポート

バージョン

スタイルの適用

棒グラフの設定と表示

要素を同時に取得して使いたい場合は、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軸方向に棒グラフを並べることができる。

回転アニメーション

作製した図を回転させると以下のようになる。

回転アニメーションは以下の記事を参考にして作成した。

[matplotlib 3D] 14. 3Dグラフの回転アニメーション
matplotlib mplot3d のグラフの回転アニメーション
コードをダウンロード(.pyファイル)

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

参考

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

コメント