6

使用 Seaborn,我可以创建一个 . 让它垂直是没有问题的。但我想要一个水平的小提琴情节。我看到建议violinplot函数中传递参数时只切换 x 和 y。

我正在寻找相同的小提琴情节,只是旋转了 90 度,并且无法通过切换 x 和 y 来实现这一点。这是一个简单的例子:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
categories = pd.Series(['2008', '2008', '2008', '2009', '2009' ])
values     = pd.Series(np.random.normal(0,1, 5))
sns.violinplot( x=categories, y=values, linewidth=5)
plt.show()
sns.violinplot( y=categories, x=values, linewidth=5)
plt.show()

这两张图。第一个是竖向的小提琴情节,和预期的一样。但第二个不是类似的水平小提琴情节。调用第二个情节的命令有什么问题?

在此处输入图像描述

4

2 回答 2

10

orient='h'您可以通过以下方式将第二个绘图设置为水平sns.violinplot

sns.violinplot(y=categories, x=values, linewidth=5, orient='h')
plt.show()

在此处输入图像描述

有关更多详细信息,请参阅seaborn.violinplot文档

于 2018-02-14T12:32:29.137 回答
2

尝试这个:

sns.violinplot(y=categories, x=values, linewidth=5, orient='h')
于 2018-02-14T12:32:20.130 回答