我可以在不与Matplotlib重叠的情况下进行抖动/分散的点打印吗?

我可以在不与Matplotlib重叠的情况下进行抖动/分散的点打印吗?,matplotlib,plot,Matplotlib,Plot,我想展示类似于方框图的单个数据点(比如说,两类中的许多实验的NMSE值),我想展示所有单个数据点。假设数据的主方向是颠倒的,抖动(或分散)的点图是稍微向侧面移动数据点以避免重叠点的好方法。有关此想法的可视化信息,请选中或 我已经找到并阅读了,但这些解决方案涉及添加随机噪声,而不考虑数据,所以必须微调参数,并可能重复,直到找到一个好的解决方案。然后几个月后,你试着复制这些数据;) 因此,我希望有一个自动解决方案,可以创建如图所示的图形。Matplotlib有解决方案吗?您正在寻找一个“Swarml

我想展示类似于方框图的单个数据点(比如说,两类中的许多实验的NMSE值),我想展示所有单个数据点。假设数据的主方向是颠倒的,抖动(或分散)的点图是稍微向侧面移动数据点以避免重叠点的好方法。有关此想法的可视化信息,请选中或

我已经找到并阅读了,但这些解决方案涉及添加随机噪声,而不考虑数据,所以必须微调参数,并可能重复,直到找到一个好的解决方案。然后几个月后,你试着复制这些数据;)

因此,我希望有一个自动解决方案,可以创建如图所示的图形。Matplotlib有解决方案吗?

您正在寻找一个“Swarmlot”,它非常好用


很好的解决方案。对于那些被
数据帧
格式和
pd.melt
稍微吓倒的人,请放心:“.”太棒了。可能是
import pandas as pd
import seaborn as sns
sns.set(style="whitegrid", palette="muted")

# Load the example iris dataset
iris = sns.load_dataset("iris")

# "Melt" the dataset to "long-form" or "tidy" representation
iris = pd.melt(iris, "species", var_name="measurement")

# Draw a categorical scatterplot to show each observation
sns.swarmplot(x="measurement", y="value", hue="species", data=iris)