我想把我的两个图放在一个图中,而不改变它们的形状。他们有一个非常不同的y范围。下面是我的两个图(我在运行图的相应代码行时得到了它们):
图1:

图2:

当我尝试将它们都绘制到同一张图上时,我得到:
图3:

这些地块最终失去了原来的形状。我假设发生这种情况是因为两个图中使用的y的范围不同。以下是我用来绘制的数据值:
y1 = [3.3549674089380157, 3.3549674741748685, 3.354967474135432, 3.3549674741683244, 3.354967802849705]
y2 = [2.273429505964899, 2.273429556154414, 2.2734295561240736, 2.2734295561482813, 2.2734297980416596]
x = [-16.0, -13.0, -10.0, -6.0, -2.0]发布于 2021-10-28 19:25:49
可以使用ax.twinx()在右侧创建第二个Y轴,然后单独绘制每条直线:
import matplotlib.pyplot as plt
x = [-16.0, -13.0, -10.0, -6.0, -2.0]
y1 = [3.3549674089380157, 3.3549674741748685, 3.354967474135432, 3.3549674741683244, 3.354967802849705]
y2 = [2.273429505964899, 2.273429556154414, 2.2734295561240736, 2.2734295561482813, 2.2734297980416596]
fig, ax_left = plt.subplots()
ax_left.plot(x, y1, label='y1', color='green')
ax_left.set_ylabel('y1')
ax_right = ax_left.twinx()
ax_right.plot(x, y2, label='y2', color='orange')
ax_right.set_ylabel('y2')
plt.show()输出:

请注意,由于两条线具有基本相同的形状,因此当在每个轴上单独绘制时,它们会重叠-但这两条线都保留了“原始”形状。我试图通过使用不同的颜色和标记每个Y轴来使这一点变得更清楚。
https://stackoverflow.com/questions/69759607
复制相似问题