python - 如何创建 fiddle 图

标签 python matplotlib violin-plot

我想在一张图表内创建 10 个 fiddle 图。我看了很多这样的例子:Violin plot matplotlib ,什么显示了我最终想要的内容。

但我不知道如何使其适应真实的数据集。它们都只是生成一些正态分布的随机数据。 我有 D[10,730] 形式的数据,如果我尝试使用上面的链接对其进行调整: 示例:

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

我的代码:

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

它不起作用。 它应该并行打印 10 个 fiddle 图(D 的第一个维度)。

那么我的数据需要如何才能获得相同类型的 fiddle 图?

最佳答案

您只需转置数据数组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)

enter image description here

您应该提交错误报告。

关于python - 如何创建 fiddle 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43224751/

相关文章:

python - 为什么 matplotlib.animation.FuncAnimation 在 Jupyter 笔记本中产生空白输出?

python - 收到 'list index out of range' 错误

python - matplotlib 中用于 SciPy 树状图的更大调色板 (Python)

r - 在一系列 fiddle 图上绘制趋势线

R - 将 (ggplot) fiddle 图的宽度修改为 y 变量的函数

python - 从 subprocess.Popen 启动时 Drush 挂起

python - 如何配置 setup.py 以从 GitHub master 安装 pip?

python - 如何放大绘图内部

python - python 中的等高线图

python - 如何在seaborn fiddle 图上添加阴影?