如何为Plotly Figure Factory生成的两个带注释热图添加标题
问题原因
报错的核心原因是调用ff.create_annotated_heatmap()创建第二个验证集热力图时,错误地把title_text作为参数传入了这个工厂函数:
ff.create_annotated_heatmap()本身不支持title_text入参,所有传入该函数的未知参数都会被直接传递给底层的Heatmap图形对象,而Heatmap对象本身没有title属性,因此触发Invalid property specified for object of type plotly.graph_objs.Heatmap: 'title'报错。- 第一个训练集热力图的写法是正确的:创建图时不传标题相关参数,后续通过
update_layout()方法设置整个图的标题,所以不会触发错误。
解决方法
直接删除创建val_confusion_mat时传入的多余title_text参数即可,你后续已经写了update_layout()设置标题,完全可以满足需求。
修正后的对应代码片段如下:
val_confusion_mat = ff.create_annotated_heatmap(val_z, x=x, y=y, colorscale='Viridis', annotation_text=string_annotation_converter(val_z)) val_confusion_mat.update_layout(title_text=f'Validation CM - {str(class_indices)}')
如果需要同时展示两个热力图,也可以选择用plotly.subplots创建子图布局,分别将两个热力图放到不同子图位置,再统一或分别设置子图标题即可。
内容的提问来源于stack exchange,提问作者Luleo_Primoc
相关产品推荐
相关产品推荐

