python:来自多维数据的box plot(或小提琴图)

时间:2018-04-17 04:53:23

标签: python

我是python的新手,根本没有背景。 问题是我想从多维数据集创建方框或小提琴图,例如,20组有5个变量。 每组有20~100个元素(平均前的原始数据) 哪个函数可以帮我解析这个? 在matlab中我认为单元格数组会有所帮助,但我想在python中有更好的方法来解析这些数据。 请帮忙..

1 个答案:

答案 0 :(得分:0)

有一个名为Matplotlib的非常有用的python包你可以用来画盒子图或小提琴图。下面是一个箱形图与小提琴情节的例子。

import matplotlib.pyplot as plt
import numpy as np

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))

# Fixing random state for reproducibility
np.random.seed(19680801)


# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axes[0].violinplot(all_data,
                  showmeans=False,
                  showmedians=True)
axes[0].set_title('Violin plot')

# plot box plot
axes[1].boxplot(all_data)
axes[1].set_title('Box plot')

# adding horizontal grid lines
for ax in axes:
    ax.yaxis.grid(True)
    ax.set_xticks([y + 1 for y in range(len(all_data))])
    ax.set_xlabel('Four separate samples')
    ax.set_ylabel('Observed values')

# add x-tick labels
plt.setp(axes, xticks=[y + 1 for y in range(len(all_data))],
     xticklabels=['x1', 'x2', 'x3', 'x4'])
plt.show()

enter image description here

matplotlib的gallery还有更多例子。我希望你能找到一个能让你满意的例子。