如何使用具有不同比例轴的二维数据条创建条形图

How create bar chart with 2d data bars with different scale axis

我想创建这样的图表:

其中只有图表的前半部分是对数刻度。我尝试使用两个比例的 y 轴,但我无法移动新轴以从 0 开始。可以移动新轴吗?或者有其他方法,如何获得这个图?

# dummy data
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
y = [10000, 200000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 100001, 12000]
y2 = [1, 2, 45, 4, 5, 6, 2, 8, 9, 10, 11, 1]

fig, ax1 = plt.subplots(figsize=(5, 5), dpi=80)
ax2 = ax1.twinx()

# plot data
ax1.bar(x, y, color=color, log=True)
ax2.bar(x, y2,color=color)
ax2.invert_yaxis()

您可以通过组合两个图来绘制它,这似乎是提供的输出正在做的事情:

# dummy data
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
y = [10000, 200000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 100001, 12000]
y2 = [1, 2, 45, 4, 5, 6, 2, 8, 9, 10, 11, 1]

fig = plt.figure()
gs = fig.add_gridspec(2, hspace=0)
axs = gs.subplots(sharex=True, sharey=False)
fig.suptitle('Your title')
axs[0].bar(x, y, log=True)
axs[1].bar(x, y2)
axs[1].invert_yaxis()