Здесь, наверное, недоразумение.Проблема в том, что frameon=False
относится не к рамкам осей, а к рамке поля легенды.Ниже приведен пример, объясняющий это.
Рисунок с frameon=True
fig, ax = plt.subplots()
x = np.arange(1, 30)
ax.plot(x, x**2, '-g', label='$x^2$')
ax2 = ax.twinx()
ax2.plot(x, 1/x, '-r', label='$1/x$')
ax.legend(('$x^2$',), loc='best', fontsize=16)
ax2.legend(('$1/x$',), loc='best', fontsize=16)

Рисунок с frameon=False
ax.legend(('$x^2$',), loc='best', frameon=False, fontsize=16)
ax2.legend(('$1/x$',), loc='best', frameon=False, fontsize=16)

Вместо этого вам нужно , чтобы отключить осииспользуя (вы можете включить рамку легенды, если хотите)
ax.axis('off')
ax2.axis('off')
