52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4700|回复: 0
打印 上一主题 下一主题

将多个子图的legend放在一起

[复制链接]

125

主题

209

帖子

3070

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3070
跳转到指定楼层
楼主
发表于 2020-12-4 08:17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在评价模型当中,经常需要到多模型多指标同时显示,如何实现多个子图的legend放在一起呢?这是可以使用画布figure的suptitle,具体实现代码如下:
  1. import numpy as np
  2. import pickle
  3. import matplotlib.pyplot as plt# plt 用于显示图片


  4. file = ['scnn', 'scg', 'scga']
  5. color = ['-r', '-g', '-b']

  6. # plt.style.use('dark_background')
  7. fig = plt.figure()
  8. ax1 = fig.add_subplot(121)
  9. ax2 = fig.add_subplot(122)
  10. fig.suptitle('')

  11. for k in range(len(file)):
  12.     with open(file[k] + '.txt', 'rb') as file_pi:
  13.            ggn_history = pickle.load(file_pi)
  14.     y_loss = ggn_history['loss']
  15.     y_err = ggn_history['accuracy']
  16.     ax1.plot(y_err[0:20], color[k])
  17.     ax2.plot(y_loss[0:20], color[k])


  18. ax1.set_title('accuracy')
  19. ax2.set_title('loss')
  20. ax1.set_xlabel('epochs')
  21. ax2.set_xlabel('epochs')
  22. fig.legend(('scn', 'scg', 'scga'), ncol=3, loc='upper center')
  23. plt.savefig('loss_acc.png')
  24. plt.show()
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2024-11-22 12:45 , Processed in 0.065730 second(s), 21 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表