はじめに
voxel(ボクセル)は「volumetric pixel」の略で、3次元空間における最小単位の立方体です。2次元の「ピクセル」が3次元に拡張されたものと考えることができます。ここでは、Pythonのmatplotlibを使用した3D voxelグラフの作成方法について解説します。
コード

解説
モジュールのインポート
データの生成
3Dボクセルグラフとは、データを立方体で表示するグラフです。2次元空間のピクセルに対して、3次元空間ではボクセルと呼ばれています。[1]
np.indicesは各要素のインデックス値を持つ配列を生成します。例えば、np.indices((2, 2, 2))を実行すると、
x= [[[0 0] [0 0]] [[1 1] [1 1]]]
y= [[[0 0] [1 1]] [[0 0] [1 1]]]
z= [[[0 1] [0 1]] [[0 1] [0 1]]]
となります。[2]
8×8×8の配列において、cube1の条件に当てはまる箇所だけがTrueとなります。cube2とlinkについても同様の原理が適用されます。
これにより配列間で要素ごとに比較が行われ、条件がTrueの場合のみTrue値が返されます。[3]
色の設定
np.emptyメソッドを使って元の配列と同じ形状の配列を作成し、linkがTrueの部分には’red’という色を割り当てます。同様の方法で他の要素にも適切な色を設定できます。
ボクセルグラフの表示
ax.voxels(voxels)関数を使用してボクセルグラフを表示できます。この例では、facecolorパラメータで色を設定し、edgecolorを黒に指定してプロットしています。
影なしボクセルグラフ
デフォルトでは shade=True が設定されているため、影を表示したくない場合は shade=False を指定する必要があります。

参考
関連記事

[matplotlib 3D] 46.ボクセルピラミッド(Voxel Pyramid)
Matplotlibの3Dグラフ機能を使用して、voxel(ボクセル)でピラミッド形状を描画する方法を解説します。3次元空間内に立体的なピラミッドを表現し、視覚的に理解しやすいデータ可視化手法を紹介します。

[matplotlib 3D] 32. voxelグラフでハートを表示して回転する
Matplotlibの3Dグラフ機能を使ってボクセルでハート形状を作成し、回転アニメーションを表示する方法を解説。数式を使ったハート形状の表現方法からアニメーション作成まで、具体的なPythonコードとカスタマイズのポイントを紹介しています。

[matplotlib 3D] 31. トーラス(ドーナツ形状)を3Dボクセル表現する方法
matplotlib mplot3dモジュールのvoxel関数を使用してトーラス(ドーナツ形状)を3Dボクセルで表現する方法を解説します。3次元空間での数学的形状の視覚化とボクセルベースのレンダリング技術について学べるコンテンツです。

[matplotlib 3D] 29. NumPyの以前のlogoをvoxelで表示
NumPyの過去のロゴをMatplotlibのvoxelプロットで3D表示する方法を解説します。NumPyのシンボルマークを3次元的に可視化し、回転させながら空間的な構造を確認できます。Python数値計算ライブラリの視覚的表現を学べる実践的なチュートリアルです。
コメント
[…] [matplotlib 3D] 28. Pythonで3D voxelグラフ3D voxelグラフの作成について解説する。s… […]