簡體   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