如何在剧情中保留传奇?

2024-04-25 05:08:33 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用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()

我想把所有的传说都留在情节里。你知道吗

谢谢你的帮助!你知道吗


Tags: 图形timeplotmatplotlibsteppltlabelcolor
1条回答
网友
1楼 · 发布于 2024-04-25 05:08:33

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

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()

这在图例和地物边界之间增加了额外的空间,因此当图例位于右下角时,它将向上和向左移动。如果它在左下角,它会向上和向右移动。你知道吗

相关问题 更多 >