Я пытаюсь визуализировать набор данных, содержащий данные временных рядов разных стран. Фрейм данных выглядит следующим образом:
В столбце country
указаны названия стран, для которых я хочу построить данные. В каждой «стране» есть несколько values
на несколько лет, которые хранятся в столбце variable
.
Цель состоит в том, чтобы визуализировать данные на линейном графике, ограненном в соответствии с названием страны, т. Е. Каждая страна имеет свой собственный линейный график с доверительным интервалом или трендовой линией для данных.
Я пробовал следующее:
sns.relplot(x = "variable", y = "value", data = select_countries,
col = "Country", kind = "line", height = 5, aspect = 1.2)
Вывод для этого:
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))
Этот метод также дает желаемую грань с линией тренда, но использует данные из полный кадр данных вместо каждой страны, т. е. каждый аспект в основном одинаков.
Третья попытка:
Использование следующего код: 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")
дает следующее: