我在seaborn中使用了swarmplot函数来绘制类别散点图。但是每个类别中都有两种类型的要点。因此,我希望可以将不同类型的点设置为不同的标记。Seaborn的形制可以调整点的标记形状吗?或者我可以使用其他工具
我只发现可以在swarmplot的文档中调整参数标记的大小。而且我尝试使用色相。但是当我使用色相时,所有类别都代表相同的颜色。那不是我的主意。
3。
# plot the manhattan map
snsplt =sns.swarmplot(x=scale,y=distance,marker='o')
plt.tick_params(labelsize=12)
# plot the significant line
bin = np.arange(-0.2,5.2,0.2)
y = np.full((len(bin),),distance[p_minsignIndex])
snsplt = sns.lineplot(x=bin,y=y)
plt.show()
我希望直线上方的圆是实心圆,直线下方的圆是空心圆。
鉴于您所显示的图,似乎您同时发生了两种类别:1)沿轴的位置表示一个类别-我将其称为cat1
;和,2)每个类别中的变体,这就是您希望通过标记显示的内容-我将其称为cat2
。
到目前为止,最简单的将这两个类别一起显示的方法是使用seaborn提供给您的工具来做到这一点。具体来说,在绘图中,您通过两种不同的方式来识别cat1
:一种是通过其在x轴上的位置,另一种是通过颜色。因此,想法是将位置用作cat1
,将颜色用作cat2
。这是一个来自seaborn文档的示例,但经过修改以显示阈值(根据您的要求):
import seaborn as sns
import numpy as np
tips['bigness'] = np.where(tips['total_bill']>15, 'big', 'small')
ax = sns.swarmplot(x="day", y="total_bill", hue="bigness", data=tips)