サムネがコーヒーの記事は書きかけです。

【研究用スクリプト】複数実験系の確立質量関数と階級値を3Dグラフにプロット

上図のような複数実験系の結果の頻度分布を確立質量関数としてz軸にプロットして一目で見てわかるように可視化するスクリプトです。バイオリンプロットでもいいですが、直接結果を見たいときに便利です。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

l1,l2,l3,l4,l5 =[[np.random.normal(0,10) for _ in range(1000)] for i in range(5)] 

data_1 = l1
data_2 = l2
data_3 = l3
data_4 = l4
data_5 = l5


# 3次元空間のグラフを作成
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# データセットとそれに対応するyの値を設定
datasets = [data_1, data_2, data_3, data_4, data_5]
y_values = [30*i for i in range(1,len(datasets)+1)]

# 各データセットのヒストグラムを3次元空間にプロット
for y, dataset in zip(y_values, datasets):
    values, bins = np.histogram(dataset, bins=9, range=(0, 9), density=True)
    x = np.array([(bins[i] + bins[i+1]) / 2 for i in range(len(bins) - 1)])
    z = np.zeros_like(x) + y
    ax.bar(x, values, z, zdir='y', width=0.8, alpha=0.7)

# 軸ラベルとタイトルの設定
ax.set_xlabel('Value')
ax.set_ylabel('Series')
ax.set_zlabel('Prob. mass function')

fig.savefig("result.png", dpi = 500)

実行結果

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です