堆叠条形图:在matplotlib中绘制堆叠条形图

一个方便使用pandas DataFrame 在matplotlib中绘制堆叠条形图的函数。

> 从 mlxtend.plotting 导入 stacked_barplot

概述

一个方便的matplotlib函数,用于从DataFrame中创建条形图,其中每个样本与多个类别相关联。

参考文献

示例 1 - 来自 Pandas DataFrame 的分层条形图

import pandas as pd

s1 = [1.0, 2.0, 3.0, 4.0]
s2 = [1.4, 2.1, 2.9, 5.1]
s3 = [1.9, 2.2, 3.5, 4.1]
s4 = [1.4, 2.5, 3.5, 4.2]
data = [s1, s2, s3, s4]

df = pd.DataFrame(data, columns=['X1', 'X2', 'X3', 'X4'])
df.columns = ['X1', 'X2', 'X3', 'X4']
df.index = ['Sample1', 'Sample2', 'Sample3', 'Sample4']
df

X1 X2 X3 X4
Sample1 1.0 2.0 3.0 4.0
Sample2 1.4 2.1 2.9 5.1
Sample3 1.9 2.2 3.5 4.1
Sample4 1.4 2.5 3.5 4.2

默认情况下,DataFrame 的索引用作列标签,而 DataFrame 的列用于绘图图例。

import matplotlib.pyplot as plt
from mlxtend.plotting import stacked_barplot

fig = stacked_barplot(df, rotation=45, legend_loc='best')

png

API

stacked_barplot(df, bar_width='auto', colors='bgrcky', labels='index', rotation=90, legend_loc='best')

Function to plot stacked barplots

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/plotting/stacked_barplot/