AttributeError: 'str' 对象在 Seaborn 和 Scatterplot 中没有属性 'view' [英] AttributeError: 'str' object has no attribute 'view' in Seaborn , Scatterplot
本文介绍了AttributeError: 'str' 对象在 Seaborn 和 Scatterplot 中没有属性 'view'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 Seaborn 遇到了一个奇怪的异常.
I am getting a bizarre exception in Seaborn.
对于可重现的示例:
toy_data.to_json()
'{"X":{"0":0.12765045,"1":0.0244816152,"2":0.1263715245,"3":0.0246376768,"4":0.1108581319,"5":0.1406719382,"6":0.1358105564,"7":0.1245863432,"8":0.1175445352,"9":0.1188479018,"10":0.1113148159,"11":0.117455495,"12":0.110555662,"13":0.1328567106,"14":0.103064284,"15":0.1119474442,"16":0.119390455,"17":0.1246727756,"18":0.1117827155,"19":0.1169972547},"Y":{"0":0.1241083714,"1":0.1394242378,"2":0.1225010796,"3":0.0077080173,"4":0.1198371354,"5":0.0029026989,"6":0.1259473297,"7":0.0,"8":0.0,"9":0.1214620231,"10":0.1204110739,"11":0.0,"12":0.1194570059,"13":0.0014971676,"14":0.1184584731,"15":0.1212061305,"16":0.1221438778,"17":0.0,"18":0.1209991075,"19":0.0},"Label":{"0":"17","1":"3","2":"17","3":"0","4":"14","5":"21","6":"16","7":"23","8":"20","9":"15","10":"14","11":"20","12":"14","13":"22","14":"13","15":"14","16":"15","17":"23","18":"14","19":"20"},"Probability":{"0":1.0,"1":1.0,"2":1.0,"3":1.0,"4":1.0,"5":1.0,"6":1.0,"7":1.0,"8":1.0,"9":1.0,"10":1.0,"11":1.0,"12":1.0,"13":1.0,"14":1.0,"15":1.0,"16":1.0,"17":1.0,"18":0.9101796407,"19":1.0}}'
toy_data.head()
X Y Label Probability
0 0.127650 0.124108 17 1.0
1 0.024482 0.139424 3 1.0
2 0.126372 0.122501 17 1.0
3 0.024638 0.007708 0 1.0
4 0.110858 0.119837 14 1.0
sns.scatterplot(x = toy_data.X, y = toy_data.Y, hue = toy_data.Label.values, alpha = 0.5)
AttributeError: 'str' object has no attribute 'view'
此语法的类似异常:
sns.scatterplot(x = 'X', y = 'Y', data = toy_data, hue = 'Label', alpha = 0.5)
推荐答案
这是 seaborn 的一个特殊问题,其中 颜色 palette
需要等于标签数量
This is a peculiar issue with seaborn where the color palette
needs to equal the number of labels
sns.scatterplot(x = toy_data.X, y = toy_data.Y, hue = toy_data.Label, alpha = 0.5,
palette=sns.color_palette("Set1", toy_data.Label.nunique()) )
如果没有,seaborn 将应用数值函数将 hue
类别的数量映射到 四种 颜色的默认 palette
.这就是为什么当值是 string
If not, seaborn will apply numerical functions to map the number of hue
categories to the default palette
of four colours. This is why you get an error when the values are a string
这篇关于AttributeError: 'str' 对象在 Seaborn 和 Scatterplot 中没有属性 'view'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文