This answerは、Matplotlib's violinplotsの変更方法を示しています。 これらのバイオリンプロットは、バイオリンプロットの上半分のみを表示するように調整することもできます。
pos = np.arange(1, 6)/2.0
data = [np.random.normal(0, std, size=1000) for std in pos]
violins = plt.violinplot(data, positions=pos, showextrema=False, vert=False)
for body in violins['bodies']:
paths = body.get_paths()[0]
mean = np.mean(paths.vertices[:, 1])
paths.vertices[:, 1][paths.vertices[:, 1] <= mean] = mean
見栄えの良いオーバーラップバリアントを簡単に、0に遺体透明度を設定するにEdgeColorを追加し、最初の基礎となるKDEsをプロットすることを確認することによって作成することができます。
pos = np.arange(1, 6)/2
data = [np.random.normal(0, std, size=1000) for std in pos]
violins = plt.violinplot(
data[::-1],
positions=pos[::-1]/5,
showextrema=False,
vert=False,
)
for body in violins['bodies']:
paths = body.get_paths()[0]
mean = np.mean(paths.vertices[:, 1])
paths.vertices[:, 1][paths.vertices[:, 1] <= mean] = mean
body.set_edgecolor('black')
body.set_alpha(1)