【发布时间】:2015-06-28 11:43:00
【问题描述】:
我的数据如下所示:
topic positive negative type
0 88 0.080000 0.030000 source
1 36 0.010000 0.200000 source
2 101 0.350000 0.040000 source
3 78 0.110000 0.090000 source
4 99 0.110000 0.010000 source
5 79 0.000000 0.050000 source
6 24 0.000000 0.160000 source
7 17 0.000000 0.410000 source
8 14 0.090000 0.050000 source
9 29 0.060000 0.030000 source
0 14 0.207071 0.085859 summary
1 17 0.000000 0.738889 summary
2 24 0.000000 0.219349 summary
3 29 0.000000 0.094907 summary
4 36 0.000000 0.255808 summary
5 78 0.108333 0.194444 summary
6 79 0.000000 0.106443 summary
7 88 0.089286 0.041667 summary
8 99 0.098496 0.050877 summary
9 101 0.444444 0.055556 summary
我需要绘制一个条形图,比较每个 topic 的不同 type 的正/负值。我认为它就像 x 轴上带有 topic 的堆叠(正/负)条形图,条形图使用 type 列分组。但我找不到同时构建分组和堆叠条形图的方法。
对于像这样的单一类型(对不起,我没有足够的声誉来发布图片):
polar_data.set_index(['type', 'topic']).xs('summary').plot(kind='bar', stacked=True)
我目前可以比较两种不同类型的唯一方法是使用seaborn.factorplot 并排放置两个图,这无法清楚地注意到趋势。而且我不知道如何使用seaborn 构建堆积条形图。
print_data = pd.melt(polar_data, id_vars=['topic', 'type'], value_name='percent', var_name='polarity')
sns.factorplot("topic", 'percent', 'polarity', row="type", data=print_data, margin_titles=True, kind='bar')
那么有没有办法将它们“合并”而不是并排放置?
【问题讨论】:
-
我在这里有点困惑。您打算如何比较正值和负值?
-
@JohnGalt 让我解释一下。我想要这样的情节here负/正值堆叠在一起,每个主题有两个这样的条(一个是“摘要”类型,另一个是“源”类型)它们应该彼此靠近分组.所以每个主题都有一组