Swarmplot只有一个分类级别(Python)

时间:2017-03-10 13:09:11

标签: python visualization scatter-plot seaborn scatter

我正在尝试制作一个包含比单个分类级别和两个变量更多信息的游戏情节。我希望创建类似swarm

的内容

理想情况下,这样的事情会起作用(但事实并非如此):

ax = sns.swarmplot(x="round_id", y="independent_error_abs", hue="difficulty", hue_order=['easy','medium','hard'], size="followers", markershape="rank",data=df)

其中“难度”,“跟随者”和“等级”分别确定点的颜色,点的大小和点的形状。

2 个答案:

答案 0 :(得分:1)

不,swarmplot无法做到这一点。我个人认为这种情节很难解释:一个好的统计图应该使数据中的模式立即明显,而具有操纵点的大小或形状的多个分类变量的情节很快变得更像谜题。我在这些案例中的建议(跟安德鲁·格尔曼一起)是制作一个以上的情节,每个情节都有相对简单的语义。

当然,你不必同意,但你必须自己使用matplotlib。

答案 1 :(得分:0)

我面临同样的问题,实际上解决方案似乎非常简单,至少对于标记类型而言!

只需将数据框划分为子数据框,每个数据框用于不同的标记类型。你在彼此之上做了一个swarmplot,这就是它。

如果点的大小也是一个分类变量,您只需要执行与上面相同的操作,其中每个子表格将代表一个标记和不同的大小。

如果大小是连续的,那么你似乎需要在for循环中独立地绘制每个点,但为此我会使用matplotlib.pyplot。