如何有两个直方图但不堆叠?
Posted
技术标签:
【中文标题】如何有两个直方图但不堆叠?【英文标题】:How to have two histograms but not stacked? 【发布时间】:2022-01-07 20:54:45 【问题描述】:我想要我创建的两个直方图,但它们应该彼此相邻,而不是彼此重叠。你能帮帮我吗?
代码:
import pandas as pd
members = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/members.csv")
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(palette="Reds_r")
plt.figure(figsize=(15,10))
members_injury_height = members["injury_height_metres"]
members_death_height = members["death_height_metres"]
members_injury_height.hist(density=True,alpha = 0.5,bins = 20)
members_death_height.hist(density=True, alpha = 0.2 ,bins = 20)
plt.xlabel("Hauteurs")
plt.ylabel("% de membres morts/blessés")
plt.title("Répartition des hauteurs auxquelles des membres se sont blessés ou sont morts")
fond = plt.gca()
fond.set_facecolor('whitesmoke')
plt.gca().legend(('blessés', 'morts'))
【问题讨论】:
您可能正在寻找的子图:matplotlib.org/stable/api/_as_gen/… 【参考方案1】:您可以通过将数据行添加到plt.hist
函数内的列表中,将两个数据行合并到一个图中。
查看plt.hist
功能的documentation。它说,您“输入值,这需要单个数组或不需要长度相同的数组序列。”
sns.set(palette="Reds_r")
plt.figure(figsize=(15,10))
members_injury_height = members["injury_height_metres"]
members_death_height = members["death_height_metres"]
plt.hist([members_injury_height, members_death_height], 20)
plt.legend(loc='upper right')
plt.xlabel("Hauteurs")
plt.ylabel("% de membres morts/blessés")
plt.title("Répartition des hauteurs auxquelles des membres se sont blessés ou sont morts")
fond = plt.gca()
fond.set_facecolor('whitesmoke')
plt.gca().legend(('blessés', 'morts'))
您将获得以下信息:
【讨论】:
以上是关于如何有两个直方图但不堆叠?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Pandas DataFrame 开始绘制堆叠时间直方图?
R语言ggplot2可视化:可视化人口金字塔图直方图(堆叠直方图连续变量堆叠直方图离散变量堆叠直方图)密度图箱图(添加抖动数据点tufte箱图多分类变量分组箱图)小提琴图
python使用matplotlib可视化堆叠的直方图(stacked histogram plot)多个类别的数据在直方图区间层面累积堆叠起来