gpt4 book ai didi

python - 如何将传说保留在情节中?

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:46 25 4
gpt4 key购买 nike

当我使用 matplotlib 绘制一些图形时,图例总是在图之外。如何将传说保留在情节中?可以看到结果here

我已经尝试过bbox_to_anchor能行得通。但这样不太方便,因为我不想每次绘制新图形时都修改位置。

该代码只是重现我的问题的示例。

import matplotlib.pyplot as plt
import numpy as np

time_step = np.arange(0, 200.01, 40).tolist()
drag3 = [1, 1, 1, 1, 1, 1]
lift3 = [1.5, 1, 1, 1, 1, 0.2]
second_drag3 = [1.2, 1.2, 1.2, 1.3, 1.2, 0.5]
second_lift3 = [1.2, 1.2, 1.2, 1.3, 1.2, 0.8]


fig, ax1 = plt.subplots()
ax1.plot(time_step, drag3, label="40$C_D1$", color='blue', linestyle='-', linewidth=1.0)
ax1.plot(time_step, second_drag3, label="40$C_D2$", color='darkviolet', linestyle='-', linewidth=1.0)
ax2 = ax1.twinx()
ax2.plot(time_step, lift3, label="40$C_L1$", color='red', linestyle='-', linewidth=1.0)
ax2.plot(time_step, second_lift3, label="40$C_L2$", color='limegreen', linestyle='-', linewidth=1.0)
plt.tight_layout()
fig.legend(loc='lower right', ncol=2)
plt.show()

我想将所有图例保留在情节中。

感谢您的帮助!

最佳答案

您可以通过将“borderaxespad”kwarg 添加到图例调用中,在轴和图例之间添加额外的填充:

import matplotlib.pyplot as plt
import numpy as np

time_step = np.arange(0, 200.01, 40).tolist()
drag3 = [1, 1, 1, 1, 1, 1]
lift3 = [1.5, 1, 1, 1, 1, 0.2]
second_drag3 = [1.2, 1.2, 1.2, 1.3, 1.2, 0.5]
second_lift3 = [1.2, 1.2, 1.2, 1.3, 1.2, 0.8]


fig, ax1 = plt.subplots()
ax1.plot(time_step, drag3, label="40$C_D1$", color='blue', linestyle='-', linewidth=1.0)
ax1.plot(time_step, second_drag3, label="40$C_D2$", color='darkviolet', linestyle='-', linewidth=1.0)
ax2 = ax1.twinx()
ax2.plot(time_step, lift3, label="40$C_L1$", color='red', linestyle='-', linewidth=1.0)
ax2.plot(time_step, second_lift3, label="40$C_L2$", color='limegreen', linestyle='-', linewidth=1.0)
plt.tight_layout()
fig.legend(loc='lower right', ncol=2, borderaxespad=3)
plt.show()

这会在图例和图形边界之间添加额外的空间,因此当它位于右下角时,它将向上和向左移动。如果它位于左下角,它将向上和向右移动。

关于python - 如何将传说保留在情节中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57926148/

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