擅长:python、mysql、java
<p>对于这种精细的绘图,尤其是数据帧,我更喜欢使用plotly,因为输出更具交互性。我没有使用组操作,因为逻辑索引可以实现这一点</p>
<p>最后,由于堆叠直方图的性质,您只能表示死者,因为幸存者将是左侧区域。如果你想用不同的颜色来表达它们,请随时发表评论</p>
<p>希望它能解决你的问题</p>
<pre><code>import plotly.graph_objects as go
import numpy as np
import seaborn as sns
df = sns.load_dataset('titanic').loc[:, ['sex', 'survived']]
male_df = df[df['sex'] == 'male']
female_df = df[df['sex'] == 'female']
fig = go.Figure(go.Histogram(
x=df['sex'], bingroup=1, name='total number of male/female'
))
fig.add_trace(go.Histogram(
x=male_df[male_df['survived'] == 0]['sex'], bingroup=1, name='number of deceased male'
))
fig.add_trace(go.Histogram(
x=female_df[female_df['survived'] == 0]['sex'], bingroup=1, name='number of deceased female'
))
fig.update_layout(
title='Passengers by survivality and gender',
barmode='overlay',
bargap=0.1
)
fig.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/qeQ63.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qeQ63.png" alt="enter image description here"/></a></p>