繁体   English   中英

python小提琴图

[英]Violin Plot with python

我想在一张图中创建10个小提琴图。 我看了很多这样的例子: 小提琴情节matplotlib ,显示了我最后想要的东西。

但是我不知道如何使它适应真实的数据集。 它们都只生成一些正态分布的随机数据。 我的数据格式为D [10,730],如果我尝试通过上面的链接使用以下示例进行改编:

axes[0].violinplot(all_data,showmeans=False,showmedians=True)

我的代码:

axes[0].violinplot(D,showmeans=False,showmedians=True)

它不起作用。 它应该并行打印10个小提琴图( D第一维)。

那么,如何获得相同类型的小提琴图数据呢?

您只需要转置数据数组D

axes[0].violinplot(D.T,showmeans=False,showmedians=True)

这似乎是matplotlib中的一个小错误。 对于一维数组和二维数组,将以不一致的方式处理轴。

import numpy as np
import matplotlib.pyplot as plt

n_datasets = 10
n_samples = 730
data = np.random.randn(n_datasets,n_samples)

fig, axes = plt.subplots(1,3)

# http://matplotlib.org/examples/statistics/boxplot_vs_violin_demo.html
axes[0].violinplot([d for d in data])

# should be equivalent to:
axes[1].violinplot(data)

# is actually equivalent to
axes[2].violinplot(data.T)

在此处输入图片说明

您应该提交错误报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM