我想创建一个类似于 使用 ggplot2 创建的线+带状图
geom_line + geom_ribbon
:
为此,我想使用新的
seaborn.objects
界面,但即使Plot
函数确实接受ymin
和ymax
,我不知道如何有效地使用它们。我正在尝试 .add(so.Line()).add(so.Area())
的几种组合,但出现各种错误或不是我想要的结果。
样本数据:
import numpy as np
import polars as pl
pl.DataFrame({"value": np.random.randn(10), "std": 0.2 * np.abs(np.random.randn(10))})
使用 matplotlib 的示例输出
Axes.fill_between
:
seaborn.objects.Band
:
import numpy as np
import pandas as pd
import seaborn.objects as so
df = pd.DataFrame({"value": np.random.randn(10), "std": 0.2 * np.abs(np.random.randn(10))})
(
so.Plot(
x=df.index,
y=df["value"],
ymin=df.eval("value - std"),
ymax=df.eval("value + std")
)
.add(so.Line())
.add(so.Band())
)