我对 pandas 和 matplotlib 很陌生。
我应用了一份问卷,在某个问题中,人们被问到他们使用的社交网络。选项包括 Facebook、Instagram、Twitter 等。他们可以选择的不仅仅是一个选项。
我想组织这些数据来绘制条形图。我使用了以下代码:
listsocial = df["SocialNetworks"].str.split(', ', expand=True)
listsocial.head()
listsocial = 100*listsocial.stack().value_counts(normalize=True)
进而:
sns.set(font_scale=1.4)
ax = listsocial.plot(kind='bar', figsize=(15,7), color=('#009C3B'), grid=True)
ax.yaxis.set_major_formatter(mtick.PercentFormatter(decimals=False))
plt.xticks(rotation=80)
plt.suptitle('Most used social networks', fontsize=20)
plt.xlabel('Social network', fontsize=14, labelpad=20)
plt.ylabel('Respondents\n(%)', fontsize=14, labelpad=20)
plt.show()
但是,结果没有考虑到人们可以回答多个选项的事实,因此总数不应不是 100%。我希望图表显示如下数据:70% 使用 Facebook,60% 使用 Instagram,等等。
提前致谢。
