Pythonで3D散布図を描く
前回に続きPythonでグラフ描画です。今回は↓こんな風に3Dの散布図を作ります。
[ad#top-1]
3D散布図のソースコード
3Dグラフだから複雑なコードと思われがちですが、実施は以下のような20行以下の小さなコードで実現できます。mpl_toolkits.mplot3dのAxes3Dライブラリを使います。
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy import genfromtxt # グラフ作成 fig = plt.figure() ax = Axes3D(fig) x1 = [5, 8, 2, 6, 8, 3, 5, 4, 7, 8, 4, 5, 2, 4, 3, 6, 4, 6, 2, 8, 3, 8, 7] y1 = [4, 8, 7, 8, 2, 3, 3, 3, 7, 8, 2, 2, 5, 5, 2, 3, 7, 7, 7, 6, 5, 4, 7] z1 = [6, 3, 6, 4, 4, 4, 3, 7, 5, 4, 2, 7, 2, 6, 3, 8, 6, 3, 3, 3, 8, 3, 7] x2 = [10, 9, 6, 7, 6, 9, 9, 5, 8, 10, 12, 6, 9, 9, 7, 10, 10, 11, 9, 6, 8, 7, 9] y2 = [9, 8, 5, 10, 10, 11, 9, 13, 13, 10, 7, 9, 10, 7, 9, 12, 8, 8, 5, 6, 13, 13, 6] z2 = [13, 8, 5, 11, 10, 5, 8, 6, 5, 8, 5, 11, 5, 5, 13, 5, 8, 12, 5, 8, 13, 6, 12] ax.scatter(x1, y1, z1) ax.scatter(x2, y2, z2) plt.show()
このライブラリの優れているところは、グラフをマウスでドラッグするとグラフが回転してくれるという点。
マーカーサイズと色を変えてみる
scatter関数の引数に以下を加えるとマーカーサイズと色が設定できます。以下の例はマーカーサイズを50、マーカー色を赤と青に設定しています。
ax.scatter(x1, y1, z1, s=50, c="red") ax.scatter(x2, y2, z2, s=50, c="blue")
[ad#ad-1]
スポンサーリンク