gpt4 book ai didi

python-3.x - 使用 seaborn 对数据进行分组后的条形图

转载 作者:行者123 更新时间:2023-12-04 01:37:35 26 4
gpt4 key购买 nike

我正在尝试使用 seaborn.barplot分组后绘制数据。我的第一种方法是使用以下方法生成一个新的数据框:

g_data = g_frame.groupby(["STG","GRP"])["HRE"].mean()
g_data

这是输出:
STG   GRP    
S1 Control 0.561871
OSA 0.589858
S2 Control 0.595950
OSA 0.629775
S3 Control 0.629906
OSA 0.674118
S4 Control 0.578875
OSA 0.568370
S5 Control 0.557712
OSA 0.569524
Name: HRE, dtype: float64

接下来,我定义了一个名为 plot_v1(data) 的绘图函数如下:
def plot_v2(data):

# Create the bar plot
ax = sns.barplot(
x="STG", y="HRE", hue="GRP",
order=["S1", "S2", "S3", "S4", "S5"],
hue_order=["Control", "OSA"],
data=data)

# Return the figure object and axis
return plt.gcf(), ax

plot_v2(g_data);

这引发了一个错误说:
149                 if isinstance(input, string_types):
150 err = "Could not interpret input '{}'".format(input)
--> 151 raise ValueError(err)
152
153 # Figure out the plotting orientation

ValueError: Could not interpret input 'STG'

我不确定我做错了什么。当我检查索引值时,它看起来不错。
g_data.index
MultiIndex(levels=[['S1', 'S2', 'S3', 'S4', 'S5'], ['Control', 'OSA']],
labels=[[0, 0, 1, 1, 2, 2, 3, 3, 4, 4], [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]],
names=['STG', 'GRP'])

最佳答案

不确定您的最终期望是什么,但这是我对条形图的方法:

df.groupby(["STG","GRP"]).mean().unstack().plot.bar()

enter image description here

关于python-3.x - 使用 seaborn 对数据进行分组后的条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49042433/

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