擅长:python、mysql、java
<p><strong>第1步。</strong>准备数据</p>
<pre><code>df = pd.DataFrame(
{
"seasons":["Winter", "Winter", "Winter", "Spring", "Spring", "Spring", "Summer", "Summer", "Summer", "Fall", "Fall", "Fall"],
"feelings":["Cold", "Cold", "Cold", "Warm", "Warm", "Cold", "Warm", "Warm", "Warm", "Warm", "Cold", "Cold"]
}
)
df_new = df.pivot_table(columns="seasons", index="feelings", aggfunc=len, fill_value=0).T.apply(lambda x: x/sum(x), axis=1)
df_new
feelings Cold Warm
seasons
Fall 0.666667 0.333333
Spring 0.333333 0.666667
Summer 0.000000 1.000000
Winter 1.000000 0.000000
</code></pre>
<p><strong>第2步。</strong>绘制数据</p>
<pre><code>ax = df_new.plot.bar(stacked=True)
ax.set_xticklabels(ax.get_xticklabels(), rotation=0)
plt.style.use('ggplot')
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5), title="feelings", framealpha=0);
</code></pre>
<p><a href="https://i.stack.imgur.com/1BhaK.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1BhaK.png" alt="enter image description here"/></a></p>