我有一个pandas数据帧,包含3个类和n个特征的数据点.
以下代码生成一个散射矩阵,其中包含对角线中的直方图,数据帧中有4个要素.
colums = ['n1','n2','n3','n4']
grr = pd.scatter_matrix(
dataframe[columns], c=y_train, figsize=(15,15), label=['B','N','O'], marker='.',
hist_kwds={'bins':20}, s=10, alpha=.8, cmap='brg')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
像这样:
我遇到的问题是plt.legend()似乎不起作用,它根本没有显示任何图例(或者它是第二行第一列中几乎看不见的小'le8')
我想要的是一个单一的图例,它只显示哪个颜色是哪个类.
我已经尝试了所有建议的问题,但没有一个有解决方案.我还尝试将标签放在图例功能参数中,如下所示:
plt.legend(label=['B','N','O'], loc=1)
Run Code Online (Sandbox Code Playgroud)
但无济于事..
我究竟做错了什么?
我的Node.js express应用程序中有以下代码:
router.route('/user')
.post(async function(req, res) {
if(req.body.password === req.body.passwordConfirm) {
try {
var response = await userManager.addUser(req.body);
res.status(201).send();
} catch(err) {
logger.error('POST /user failed with error: '+err);
res.status(500).send({err:"something went wrong.."});
}
} else {
res.status(400).send({err:'passwords do not match'});
}
})
Run Code Online (Sandbox Code Playgroud)
和userManager:
var userManager = function() {
this.addUser = async function(userobject) {
userobject.password_hash = await genHash(userobject.password_hash);
var user = new User(userobject);
return await user.save();
};
};
module.exports = userManager;
Run Code Online (Sandbox Code Playgroud)
我的问题是:路由中的try catch块会捕获addUser中抛出的所有错误,还是只捕获user.save()抛出的那些,因为那是返回的?