Ошибка Seaborn FacetGrid

1

Вдохновленный примерами на этой странице, я хотел бы сделать морскую грань с набором данных Iris с 6 гранями: 3 вида x 2 типа (лепесток или сепал). В каждом аспекте мне нужна гистограмма длины (или ширины).

Но код, который я пытался, дает значение ValueError: color kwarg must have one color per dataset.

Любые предложения, как это решить?

import pandas as pd
import matplotlib.pyplot as ply
import seaborn as sns
iris = sns.load_dataset('iris')
iris_petal = pd.DataFrame(iris.iloc[:,-3:].values, columns=['length', 'width', 'species'])
iris_petal['type'] = 'petal'
iris_sepal = pd.DataFrame(iris.iloc[:,[0, 1, -1]].values, columns=['length', 'width', 'species'])
iris_sepal['type'] = 'sepal'
iris = pd.concat([iris_sepal, iris_petal])
iris.sample(n=10)
g = sns.FacetGrid(iris, col="species",  row="type")
g = g.map(plt.hist, "length", color = 'b')
  • 0
    Странно то, что эта ошибка даже происходит, если вы пропустите color = 'b' из кода (с этой строкой ошибка имеет смысл, верно?).
  • 3
    Проблема состоит в том, что тип данных числовых столбцов - object . Я не знаю, почему это так, но если вы исправите это, оно должно работать.
Показать ещё 2 комментария
Теги:
seaborn

1 ответ

0
Лучший ответ

Как упоминал @ImportanceOfBeingErnest, это была проблема с типом данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню