Matplotlib: предотвращение перекрытия точек данных в графике "scatter/dot/beeswarm"

При построении точечной диаграммы с помощью matplotlib я хотел бы сместить перекрывающиеся точки данных, чтобы они все были видны. Например, если у меня есть

CategoryA: 0,0,3,0,5  
CategoryB: 5,10,5,5,10  

Я хочу, чтобы каждая из точек данных CategoryA "0" располагалась рядом, а не прямо друг на друге, оставаясь при этом отличной от CategoryB.

В R (ggplot2) есть опция "jitter", которая делает это. Есть ли подобная опция в matplotlib, или существует другой подход, который мог бы привести к аналогичному результату?

Edit: чтобы уточнить, график "beeswarm" в R - это по существу то, что я имею в виду, а pybeeswarm - это раннее, но полезное начало версии matplotlib/Python.

Edit: чтобы добавить, что Swarmplot Сиборна, представленный в версии 0.7, является отличной реализацией того, что я хотел.

38
задан iayork 13 May 2017 в 02:19
поделиться