Seaborn / Matplotlib - Грань линии с доверительными интервалами - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь визуализировать набор данных, содержащий данные временных рядов разных стран. Фрейм данных выглядит следующим образом: enter image description here

В столбце country указаны названия стран, для которых я хочу построить данные. В каждой «стране» есть несколько values на несколько лет, которые хранятся в столбце variable.

Цель состоит в том, чтобы визуализировать данные на линейном графике, ограненном в соответствии с названием страны, т. Е. Каждая страна имеет свой собственный линейный график с доверительным интервалом или трендовой линией для данных.

Я пробовал следующее:

sns.relplot(x = "variable", y = "value", data = select_countries, col = "Country", kind = "line", height = 5, aspect = 1.2)

Вывод для этого: enter image description here

This дает желаемую «огранку», но не дает справочную линию для go с ним.

Другой метод, который я пробовал, использовал FacetGrid:

facet = sns.FacetGrid(select_countries, col= "Country", col_wrap=3, height = 3) facet.map(sns.regplot, x = select_countries.variable.values.astype(int), y = select_countries.value.values.astype(float))

Этот метод также дает желаемую грань с линией тренда, но использует данные из полный кадр данных вместо каждой страны, т. е. каждый аспект в основном одинаков.

enter image description here

Третья попытка:

Использование следующего код: facet = sns.FacetGrid(select_countries, col= "Country", col_wrap=3, height = 3) facet.map(sns.regplot, x = "variable", y = "value") выдает следующую ошибку: ValueError: Must pass data if using named variables.

И, следовательно, facet = sns.FacetGrid(select_countries, col= "Country", col_wrap=3, height = 3) facet.map(sns.regplot, x = "variable", y = "value", data = select_countries) дает 6 графиков, но только один из них имеет данные (из всех стран), все другие графики пусты и также есть ошибка: TypeError: loop of ufunc does not support argument 1 of type str which has no callable conjugate method

Использование facet = sns.FacetGrid(select_countries, col= "Country", col_wrap=3, height = 3) facet.map(sns.regplot, "variable", "value") дает следующее: enter image description here enter image description here

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