Matplotlib twinx适用于不同比例

Elg*_*rov -2 python matplotlib python-3.x

我正在使用matplotlib twinx在同一轴上绘制多个变量的图形。但是我有一个问题,我找不到解决方案。为简单起见,我在下面附加了少量代码和该代码绘制的图形。
在此图片中,我需要将那些条形图显示在轴的底部,如图2所示。但是在图片2中,ax1t的yticks保持不变。我还需要将它们显示在底部。我怎样才能做到这一点?

码:

import matplotlib.pyplot as plt
import numpy as np

fig, ax1 = plt.subplots()
ax1.plot([4, 2, 8, 6, 4, 7, 3, 5])
ax1t = ax1.twinx()
ax1t.bar(np.arange(8), [45, 42, 55, 36, 58, 45, 48, 62], alpha=0.4)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

图片2 在此处输入图片说明

has*_*e55 5

我想这就是你想要的-

import matplotlib.pyplot as plt
import numpy as np

fig, ax1 = plt.subplots()
ax1.plot([4, 2, 8, 6, 4, 7, 3, 5])
ax1t = ax1.twinx()

ax1t.bar(np.arange(8), [45, 42, 55, 36, 58, 45, 48, 62], alpha=0.4)
ax1t.set_ylim([10,500])
ax1t.set_yticks([10, 50, 90])
plt.show()
Run Code Online (Sandbox Code Playgroud)

使用更改y轴比例set_ylim,然后使用明确传递y刻度set_yticks。您可以根据需要随意调整参数进行调整。

在此处输入图片说明