gpt4 book ai didi

python - 增加辅助 y 轴和 x 轴之间的空间?

转载 作者:行者123 更新时间:2023-12-04 08:29:39 24 4
gpt4 key购买 nike

我用 python 绘制了一个带有两个 y 轴的图形。但是,我希望两条线之间有更多空间,辅助 y 轴位于图的顶部。
这是我的代码:

x = data['Data'].tolist() 
y = data['Excess Return'].tolist()
z=data['EPU shock'].tolist()

fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
curve1 = ax1.plot(x, y, label='Excess Return', color='r')
curve2 = ax2.plot(x, z, label='EPU shock', color='b')

lines_1, labels_1 = ax1.get_legend_handles_labels()
lines_2, labels_2 = ax2.get_legend_handles_labels()
lines = lines_1 + lines_2
labels = labels_1 + labels_2
ax1.legend(lines, labels, loc="lower center", borderaxespad=-5, ncol=2)
plt.title("European Union")
plt.show()
输出:
Graph 1
但我想要这样的东西:
Graph

最佳答案

两个子图设置对您有用吗?
enter image description here

import matplotlib.pyplot as plt
import numpy as np

# Dummy data.
x = np.arange(2000, 2020, 1)
y1 = np.sin(x)
y2 = np.cos(x/2)

# We create a two-subplots figure and hide the boundary between the two Axes.
fig, (ax1, ax_temporary) = plt.subplots(2, 1)
ax2 = ax_temporary.twinx()
for spine in (ax1.spines["bottom"], ax_temporary.spines["top"], ax2.spines["top"]):
spine.set_visible(False)
ax1.xaxis.set_visible(False)
ax_temporary.yaxis.set_visible(False)
fig.subplots_adjust(hspace=0) # No space left!

# Create curves and legend.
curve1, = ax1.plot(x, y1, label='Excess Return', color='r')
curve2, = ax2.plot(x, y2, label='EPU shock', color='b')
lines_1, labels_1 = ax1.get_legend_handles_labels()
lines_2, labels_2 = ax2.get_legend_handles_labels()
lines = lines_1 + lines_2
labels = labels_1 + labels_2
ax2.legend(lines, labels, loc="lower center", borderaxespad=-5, ncol=2) # Legend on ax2 instead of ax1.

ax1.set_title("European Union")
fig.show()

关于python - 增加辅助 y 轴和 x 轴之间的空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65089329/

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