如何使用 Matplotlib 在直方图中按组填充颜色?

Met*_*r11 5 python r data-visualization matplotlib histogram

我知道如何在 R 中执行此操作,并在下面提供了代码。我想知道如何做与 Python Matplotlib 中提到的类似的事情或使用任何其他库

library(ggplot2)
ggplot(dia[1:768,], aes(x = Glucose, fill = Outcome)) +
  geom_bar() +
  ggtitle("Glucose") +
  xlab("Glucose") +
  ylab("Total Count") +
  labs(fill = "Outcome")
Run Code Online (Sandbox Code Playgroud)

Imp*_*est 5

使用 pandas,您可以旋转数据框并直接绘制它。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# dataframe with two columns in "long form"
g = np.array([np.random.normal(5, 10, 500),
              np.random.rayleigh(10, size=500)]).flatten()
df = pd.DataFrame({'Glucose': g, 'Outcome': np.repeat([0,1],500)})

# pivot and plot
df.pivot(columns="Outcome", values="Glucose").plot.hist(bins=100)

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


ste*_*ven 4

请考虑以下示例,该示例使用seaborn 0.11.1。

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# generate random data
data = {'Glucose': np.random.normal(5, 10, 100),
        'Outcome': np.random.randint(2, size=100)}
df = pd.DataFrame(data)

# plot
fig, ax = plt.subplots(figsize=(10, 10))
sns.histplot(data=df, x='Glucose', hue='Outcome', stat='count', edgecolor=None)
ax.set_title('Glucose')
Run Code Online (Sandbox Code Playgroud)