[英]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.