gpt4 book ai didi

python - 如何将人物传奇带到前面?

转载 作者:太空狗 更新时间:2023-10-30 00:06:23 25 4
gpt4 key购买 nike

我有一系列子图,每个子图都有一个图例,我想在每个子图之外与相邻的子图重叠。问题在于图例位于其自身地 block 的“顶部”,但位于相邻地 block 的下方。 Legend 没有将 zorder 作为参数,所以我不确定如何解决这个问题。这是我使用的代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex='col', sharey='row')
f.subplots_adjust(hspace=0.15,wspace=0.1)

for i,j in enumerate([ax1,ax2,ax3,ax4],start=1):
j.set_title(r'%s'%i)

ax1.plot(x, y,label='curve')
ax2.scatter(x, y)
ax3.scatter(x, 2 * y ** 2 - 1, color='r')
ax4.plot(x, 2 * y ** 2 - 1, color='r')

bbox=(1.3, 1.)
ax1.legend(loc=1,bbox_to_anchor=bbox)
plt.savefig('example.png')

enter image description here

最佳答案

图例不接受 zorder 参数,但 axes 对象接受:

你可以试试:

ax2.set_zorder(-1)

所以 ax2 落后于 ax1。

或者,您可以将 ax1 向前:

ax1.set_zorder(1)

并且由于您的图例是 ax1 的对象,它会将图例(ax1)置于第二个图的顶部。

HTH

关于python - 如何将人物传奇带到前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33150598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com