python 的小提琴情节
Violin Plot with python
我想在一个图表中创建 10 个小提琴图。我看了很多这样的例子:Violin plot matplotlib,最后显示了我想要的东西。
但我不知道如何让它适应真实的数据集。它们都只是生成一些正态分布的随机数据。
我有表格 D[10,730] 中的数据,如果我尝试使用上面的 link 调整它:
示例:
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)
您应该提交错误报告。
我想在一个图表中创建 10 个小提琴图。我看了很多这样的例子:Violin plot matplotlib,最后显示了我想要的东西。
但我不知道如何让它适应真实的数据集。它们都只是生成一些正态分布的随机数据。 我有表格 D[10,730] 中的数据,如果我尝试使用上面的 link 调整它: 示例:
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)
您应该提交错误报告。