matplotlib 将误差条添加到散点图中,该散点图显示按颜色排序的不同类别

yzxexxkh  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(114)

我想做一个散点图,用不同的颜色来显示不同的类别(见下图)。我用下面的代码做到了这一点:

groups = df_glenaros_plot.groupby("Treatment_plot")
for name, group in groups:
    plt.plot(group["Days"], group["pH"], marker="o", linestyle="", label=name)
plt.show()

现在我想为每个数据点添加误差线,但是要使用plt.errorbar()函数,我需要定义x和y。我该怎么做?
我试着调用X和Y作为我绘制的相同变量(x=天,y=pH),但我得到一个错误,说变量必须是相同的大小。

emeijp43

emeijp431#

你可以尝试在for循环中使用分组数据框的pandas图。您将使用group.plot(...)而不是当前使用的plt.plot(...)或plt.errorbar()。使用yerr所需的列将允许您绘制误差线。
标准海运提示数据集的示例如下所示。希望这能帮上忙。

import seaborn as sns ## Used only to get sample dataset
df=sns.load_dataset("tips")

groups = df.groupby("day")
fig, ax = plt.subplots()
for size, group in groups:
    group.plot("size", "total_bill", yerr="tip", marker="o", linestyle="", label=size, ax=ax)
plt.show()

相关问题