Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで軸とグリッドを非表示にした3D散布図を作成する方法

Matplotlibで3Dプロット上に散布図を描画する際、軸やグリッドを非表示にしたいケースは少なくありません。例えば、データポイントそのものの形状や分布だけを視覚的に強調したい場合などが該当します。このような場合は、scatter()メソッドで散布図を描画し、ax.axis('off')を使って軸をオフにすることで実現できます。

手順

  • figureサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • figure()メソッドを使用して、新しい図を作成するか既存の図をアクティブにします。
  • add_subplot()メソッドにprojection="3d"を指定して、3D用の軸をサブプロットとして追加します。
  • NumPyを使ってxs・ys・zsの各データポイントを生成します。
  • scatter()メソッドで3D散布図を作成します。色の指定にはc引数とカラーマップ(cmap)も利用できます。
  • ax.axis('off')メソッドを呼び出して、軸とグリッドを非表示にします。
  • show()メソッドで図を表示します。

コード例

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
xs = np.random.rand(100)
ys = np.random.rand(100)
zs = np.random.rand(100)
ax.scatter(xs, ys, zs, c=xs, cmap="copper")
ax.axis('off')
plt.show()

コードの解説

np.random.rand(100)により、0から1の範囲の一様乱数100個ずつをx・y・z座標として生成しています。scatter()のc=xsはx座標の値に応じて点を色分けすることを意味し、cmap="copper"によって銅色系のグラデーションカラーマップが適用されます。

最も重要なのがax.axis('off')の行です。この1行を実行するだけで、3D空間の軸線・目盛り・グリッド・軸ラベルなどがすべて非表示になり、散布図の点だけが浮かび上がるクリーンなビジュアルになります。プレゼン資料やアート的な可視化において非常に便利なテクニックです。

出力結果

Matplotlibで軸とグリッドを非表示にした3D散布図を作成する方法

  1. Matplotlibでマーカーサイズを変えて3D空間に散布図をプロットする方法

    概要Matplotlibを使えば、マーカーのサイズをデータ値に応じて変化させながら、3D空間に散布図を描くことができます。点ごとに大きさを変えることで、3次元データをより直感的かつ効果的に可視化できます。ここでは、その具体的な手順とサンプルコードを紹介します。実装手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。numpyを使って xs、ys、zs のデータポイントを作成します。マーカーサイズを制御するための変数 s を用意します。figure() メソッドで新しい図を作成(または既存の図をアクティブ化)します。add_subplot() メソッドで proje

  2. MatplotlibでグラフのX軸とY軸を入れ替える方法

    Matplotlibでグラフの軸(X軸とY軸)を入れ替えたい場合、subplots()メソッドを使って図(figure)を作成し、2つのサブプロットを追加する方法が便利です。1つ目のサブプロットに曲線を描画し、そのX・Yデータを抽出して、2つ目のサブプロットの曲線に設定し直すことで、軸を入れ替えたグラフを作成できます。 手順 NumPyを使って、xとyのデータポイントを作成します。 図を作成し、2つのサブプロットを追加します。 両方のサブプロットにタイトルを設定します。 plot()メソッドを使って、xとyのデータポイントをプロットします。 get_xdata()とget_ydata()を使