ValueError: «цвет kwarg должен иметь один цвет на набор данных» matplotlib - PullRequest
0 голосов
/ 28 мая 2018

Итак, я получил сообщение об ошибке при компиляции кода Python (matplot):

ValueError: color kwarg должен иметь один цвет на набор данных

код, который генерирует эту ошибку:

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import pickle as pkl
from __future__ import division

sns.set(style="darkgrid")
sns.distplot(featureSet[featureSet['label']=='0']['len of url'],color='green',label='Benign URLs')
sns.distplot(featureSet[featureSet['label']=='1']['len of url'],color='red',label='Phishing URLs')
sns.plt.title('Url Length Distribution')
plt.legend(loc='upper right')
plt.xlabel('Length of URL')

sns.plt.show()

Спасибо за помощь:).

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Просто удалите атрибут цвета.

Удалите color='green' и color = 'red', и все будет хорошо.

0 голосов
/ 28 мая 2018

Не используйте sns.plt.Вместо import matplotlib.pyplot as plt и используйте его напрямую.

Appart код должен работать нормально.Я создал следующий минимальный исполняемый пример

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

df = pd.DataFrame({"label" : np.random.randint(2, size=100).astype(str),
                    "data" : np.random.rayleigh(size=100)})

sns.set(style="darkgrid")
sns.distplot(df[df['label']=='0']['data'],color='green',label='Benign URLs')
sns.distplot(df[df['label']=='1']['data'],color='red',label='Phishing URLs')
plt.title('Url Length Distribution')
plt.legend(loc='upper right')
plt.xlabel('Length of URL')

plt.show()

, который выдает следующий вывод

enter image description here

Если он не работает для вас,рассмотрите возможность обновления вашей версии matplotlib и seaborn.Вышесказанное производится с использованием matplotlib 2.2.2 и seaborn 8.1.

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