簡體   English   中英

matplotlib小提琴圖怪異的輸入要求

[英]matplotlib violin plot weird input requirement

為什么matplotlib中的小提琴圖要求非標准輸入?

最小非工作示例

import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots(3, 1)
ax[0].plot([3, 4, 5])
ax[1].boxplot([3, 4, 5])
ax[2].violin([3, 4, 5])

產生前兩個圖,但給出第三個圖的錯誤:

TypeError: 'int' object is not subscriptable

以下命令都會產生錯誤

ax[2].violin([[3, 4, 5]])
ax[2].violin([[3], [4], [5]])
ax[2].violin(np.array([[3, 4, 5]]))
ax[2].violin(np.array([3, 4, 5]))
ax[2].violin([np.array([3, 4, 5])])
ax[2].violin([np.array([[3, 4, 5]])])
ax[2].violin([np.array([[3], [4], [5]])])

該文檔僅聲明:

dataset : Array or a sequence of vectors.
    The input data.

我必須為此功能輸入什么格式?為什么不接受標准數據向量?

ax.violinplt.violinplot不同。 ax.violin的(實際)文檔中:

ax.violin(vpstats, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False)

(...)

vpstats : list of dicts
  A list of dictionaries containing stats for each violin plot.

參見https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.violin.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM