Seaborn Swarmplot работает вечно и не печатает сюжет в Jupyter Notebook - PullRequest
0 голосов
/ 02 мая 2019

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)

1 Ответ

0 голосов
/ 03 мая 2019

Так что проблема не в вашем коде, а в том, как создаются swarmplots. Swarmplots создают точки и следят за тем, чтобы «точки корректировались (только вдоль категориальной оси), чтобы они не перекрывались». Когда у вас много данных и много точек пересекаются, это затрудняет работу, и большинство значений rating / user_good перекрываются.

Я настоятельно рекомендую использовать скрипичный сюжет. Он даст вам ту же информацию, которую вы пытаетесь отождествить с роем, и будет работать значительно быстрее.

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)

enter image description here

enter image description here

...