Построение более одного типа диаграммы для фасета в FacetGrid of seaborn - PullRequest
0 голосов
/ 09 апреля 2020

Я пытался построить смоделированные (линии) и наблюдаемые (маркеры) в одной и той же фасетной сетке, используя python морского дна, но пока безуспешно. Есть ли способ воспроизвести приведенный ниже код R с помощью seaborn?

ps. Я знаю, что могу использовать ggplot на python с помощью plotnine.

Cheers!

#--- Sample Simulated Data a
df_sim_a = data.frame(day = seq(1,100),
                      dat = 2 * seq(1,100) ^ 0.5,
                      var = "a",
                      typ = 'sim')

#--- Sample Simulated Data b
df_sim_b = data.frame(day = seq(1,100),
                      dat = 5 * seq(1,100) ^ 0.8,
                      var = "b",
                      typ = 'sim')

#--- Sample Observed Data a
df_obs_a = data.frame(day = seq(1,100, by = 2),
                      dat = 2 * seq(1,100, by = 2) ^ 0.5 * (rnorm(length(seq(1,100, by = 2)),1,0.1)),
                      var = "a",
                      typ = 'obs')

#--- Sample Observed Data b
df_obs_b = data.frame(day = seq(1,100, by = 4),
                      dat = 5 * seq(1,100, by = 4) ^ 0.8 * (rnorm(length(seq(1,100, by = 4)),1,0.1)),
                      var = "b",
                      typ = 'obs')

#--- dataframe with all simulated and observed data
df_plot = rbind(df_sim_a,
                df_sim_b,
                df_obs_a,
                df_obs_b)

#--- Ploting df
library(ggplot2)

ggplot(df_plot, aes(x = day, y = dat)) + 
  geom_point(data = df_plot[df_plot$typ == 'obs',],aes(x = day, y = dat)) + 
  geom_line(data  = df_plot[df_plot$typ == 'sim',],aes(x = day, y = dat)) + 
  facet_wrap(.~var)

Это то, что я ищу: Пример результата

Обратите внимание, что это не регрессия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...