gpt4 book ai didi

python - 如何使用 Seaborn 创建 FacetGrid 堆叠条形图?

转载 作者:行者123 更新时间:2023-12-03 14:22:44 27 4
gpt4 key购买 nike

我正在尝试绘制一个带有堆积条形图的 facet_grid。
我想使用 Seaborn。它的 barplot 函数不包含堆叠参数。
我尝试将 FacetGrid.map 与自定义可调用函数一起使用。

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

def custom_stacked_barplot(col_day, col_time, col_total_bill, **kwargs):
dict_df={}
dict_df['day']=col_day
dict_df['time']=col_time
dict_df['total_bill']=col_total_bill
df_data_graph=pd.DataFrame(dict_df)
df = pd.crosstab(index=df_data_graph['time'], columns=tips['day'], values=tips['total_bill'], aggfunc=sum)
df.plot.bar(stacked=True)

tips=sns.load_dataset("tips")
g = sns.FacetGrid(tips, col='size', row='smoker')
g = g.map(custom_stacked_barplot, "day", 'time', 'total_bill')
但是,我分别得到一个空 Canvas 和堆积条形图。
空 Canvas :
enter image description here
Graph1分开:
enter image description here
图2:。
enter image description here
我该如何解决这个问题?谢谢您的帮助!

最佳答案

实现该结果的最简单代码是:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set()

tips=sns.load_dataset("tips")
g = sns.FacetGrid(tips, col = 'size', row = 'smoker', hue = 'day')
g = (g.map(sns.barplot, 'time', 'total_bill', ci = None).add_legend())

plt.show()

这给出了这个结果:

enter image description here

关于python - 如何使用 Seaborn 创建 FacetGrid 堆叠条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62220246/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com