Вы также можете определить сопоставление таким образом, чтобы оно использовалось только в определенном слое. Это достигается путем определения сопоставления в вызове Plot.add для соответствующего слоя:

(
    so.Plot(tips, x="total_bill", y="tip")
    .add(so.Dots(), color="time")
    .add(so.Line(color=".2"), so.PolyFit())
)

Код создаст 2 слоя. Первый слой — это базовый график, созданный функцией so.Plot(). Второй слой — это линейный график, созданный функцией so.Line(). Функция so.PolyFit() используется для подгонки полинома к линейному графику, но она не создает новый слой.

Вот разбивка кода:

  • Функция so.Plot() создает базовый график с данными из tips DataFrame. Аргументы x и y указывают столбцы DataFrame, которые следует использовать для оси x и оси y соответственно.
  • Метод .add() используется для добавления дополнительных слоев на график. В этом случае метод .add() используется для добавления слоя точек и слоя линий.
  • Функция so.Dots() создает слой точек, который использует столбец time DataFrame для окрашивания точек.
  • Функция so.Line() создает линейный слой, который использует аргумент color=".2" для установки светло-серого цвета линии. Функция so.PolyFit() используется для подгонки полинома к линейному графику, но она не создает новый слой.