smo*_*ays 3 python numpy time-series seaborn violin-plot
我有一个随时间变化的分布,我想使用seaborn为每个时间并排绘制小提琴图。我最初尝试为失败violinplot无法处理np.ndarray的y参数:
import numpy as np
import seaborn as sns
time = np.arange(0, 10)
samples = np.random.randn(10, 200)
ax = sns.violinplot(x=time, y=samples) # Exception: Data must be 1-dimensional
Run Code Online (Sandbox Code Playgroud)
seaborn文档有一个按分类变量分组的垂直小提琴图示例。但是,它使用长格式的 DataFrame。
我是否也需要将我的时间序列转换为 DataFrame?如果是这样,我如何实现这一目标?
仔细查看文档让我意识到完全省略xandy参数会导致以data宽格式解释该参数:
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
samples = np.random.randn(20, 10)
ax = sns.violinplot(data=samples)
plt.show()
Run Code Online (Sandbox Code Playgroud)