ValueError:" color kwarg每个数据集必须有一种颜色" matplotlib

时间:2018-05-28 05:41:39

标签: python pandas matplotlib

所以,当我编译我的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 :(得分:2)

不要使用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制作的。

答案 1 :(得分:-2)

只需删除颜色属性即可。

删除color='green'color = 'red',一切正常。