matplotlib画图报错This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.

之前用以下代码将实验结果用matplotlib show出来

plt.plot(np.arange(len(aver_reward_list)), aver_reward_list)
plt.ylabel('Average Reward')
plt.xlabel('Episode')
plt.tight_layout()
plt.savefig("AverageReward.eps") 
plt.show()

画出的图都没什么问题,但忽然有一次数据量比较大,matplotlib开始报错,并且画出的图出现以下问题:

报错:

D:softwarescodingPythonPython3.6libsite-packagesmatplotlibfigure.py:2359: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.
  warnings.warn("This figure includes Axes that are not compatible "

图:


看到坐标轴丢失,并且坐标都挤到一起了,先想到的会不会是数据太多轴坐标密集给挤一起了?

= = too stupid… matplotlib当然会管理好坐标密度的。

然后又看了下matplotlib画图的标准代码,才知道问题出在哪里:

    plt.figure()
    plt.subplot(111)
    plt.plot(np.arange(len(ep_reward_list)), ep_reward_list)
    plt.xlabel('episode')
    plt.ylabel('ep_reward')
    plt.savefig('RL_%s.png' % MAX_EPISODES)
    plt.show()

嗯,,,是没设置画布和子图= =。。。

原文地址:https://www.cnblogs.com/peanutk/p/10784082.html