Pandas dataframe有"user_fair,user_good,rating“这3列。
我使用sns.swarmplot来绘制"user_fair vs rating“和"user_good vs rating”。
"user_fair vs rating“运行良好,但当尝试绘制"user_good vs rating”时,代码将永远运行,并且不打印任何绘图。我使用的是Python3和Jupyter Notebook。
这是我使用的代码:
fig, ax = plt.subplots(figsize=(15, 15))
ax = sns.swarmplot(y="user_good", x="rating", data=data)
ax.set_xlabel("Rating",size = 20,alpha=0.8)
ax.set_ylabel("Goodness of User who got Rated",size = 20,alpha=0.8)
ax.set_title("Distributin of Rating and How are Goodness Score of ratee",size=20)发布于 2019-05-04 01:55:32
所以问题不在于您的代码,而在于swarmplot是如何创建的。Swarmplots创建点,并确保“点被调整(仅沿着分类轴),以便它们不会重叠”。当你有很多数据和很多点重叠时,它会变得困难,并且大多数的rating/user_good值重叠。
我强烈推荐使用小提琴情节。它将为您提供与您尝试识别swarmplot相同的信息,并且工作速度会快得多。
fig, ax = plt.subplots(figsize=(15, 15))
ax = sns.violinplot(x="rating", y="user_good", data=df, cut = 0)
ax.set_xlabel("Rating",size = 20,alpha=0.8)
ax.set_ylabel("Goodness of User who got Rated",size = 20,alpha=0.8)
ax.set_title("Distributin of Rating and How are Goodness Score of ratee",size=20)


发布于 2020-07-08 10:47:45
大多数时候可以尝试小提琴图,但是当数据有更多的异常值时,你也可以使用散点图。
fig, ax = plt.subplots(figsize=(15, 15))
ax = sns.scatterplot(y="user_good", x="rating", data=data)
ax.set_xlabel("Rating",size = 20,alpha=0.8)
ax.set_ylabel("Goodness of User who got Rated",size = 20,alpha=0.8)
ax.set_title("Distributin of Rating and How are Goodness Score of ratee",size=20)

https://stackoverflow.com/questions/55957198
复制相似问题