3

有没有办法在 seaborn 的 swarmplots 中的离散轴上使用非均匀间距?

这是一个例子:

import pandas as pd
import numpy as np
import seaborn as sns
data = pd.DataFrame({
    "x":np.concatenate([np.repeat("A",450), np.repeat("B",5), np.repeat("C",5), np.repeat("D",450)]),
    "y":np.random.randn(910)})
sns.swarmplot(x="x",y="y",data=data)

具有两个过宽类别和两个不常见类别的 Swarmplot

在示例中,A 和 D 类别溢出图。我可以减小点的大小,但是中间的类别变得很难看到。更好的选择是设置轴间距,使频繁类别比稀有类别拥有更多空间:

(小样) 在此处输入图像描述

有没有办法用 seaborn(或底层的 matplotlib 轴)来做到这一点?

4

1 回答 1

0

您可以手动创建一个更大的图形来绘制。例如

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.DataFrame({
    "x":np.concatenate([np.repeat("A",450), np.repeat("B",5), np.repeat("C",5), np.repeat("D",450)]),
    "y":np.random.randn(910)})
plt.figure(figsize=(16,8))
sns.swarmplot(x="x",y="y",data=data)
plt.show()

在此处输入图像描述

只是玩弄 的比率,figsize直到你得到你预期的结果。

于 2018-06-12T12:51:38.343 回答