import matplotlib.pyplot as plt
import numpy as np
data_num = 5
sample_num = 1000
rng = np.random.default_rng(0)
data_list = [rng.normal(2*i, i, sample_num) for i in range(1, data_num+1)]
fig = plt.figure()
plt.clf()
plt.violinplot(data_list)
plt.show()
複数のバイオリンプロットを重ねるにはデータを一つ一つプロットします。
import matplotlib.pyplot as plt
import numpy as np
data_num = 5
sample_num = 1000
rng = np.random.default_rng(0)
data_list = [rng.normal(2*i, i, sample_num) for i in range(1, data_num+1)]
fig = plt.figure()
plt.clf()
for data in data_list:
plt.violinplot(data)
plt.show()
実行結果
平均値、中央値の表示
平均値を表示するには「showmeans=True」のオプション引数を追加します。
import matplotlib.pyplot as plt
import numpy as np
data_num = 5
sample_num = 1000
rng = np.random.default_rng(0)
data_list = [rng.normal(2*i, i, sample_num) for i in range(1, data_num+1)]
fig = plt.figure()
plt.clf()
plt.violinplot(data_list, showmeans=True)
plt.show()
実行結果
中央値を表示する場合は「showmedians=True」のオプション引数を追加します。
import matplotlib.pyplot as plt
import numpy as np
data_num = 5
sample_num = 1000
rng = np.random.default_rng(0)
data_list = [rng.normal(2*i, i, sample_num) for i in range(1, data_num+1)]
fig = plt.figure()
plt.clf()
plt.violinplot(data_list, showmedians=True)
plt.show()
実行結果
コメント