gpt4 book ai didi

python - PyPlot 将替代 y 轴移动到背景

转载 作者:行者123 更新时间:2023-12-03 02:29:31 25 4
gpt4 key购买 nike

在 pyplot 中,您可以使用 zorder 选项或更改 plot() 命令的顺序来更改不同图形的顺序。但是,当您通过 ax2 = twinx() 添加替代轴时,新轴将始终覆盖旧轴(如 documentation 中所述)。

是否可以更改轴的顺序以将替代(孪生)y 轴移动到背景?

在下面的示例中,我想在直方图顶部显示蓝线:

import numpy as np
import matplotlib.pyplot as plt
import random

# Data
x = np.arange(-3.0, 3.01, 0.1)
y = np.power(x,2)

y2 = 1/np.sqrt(2*np.pi) * np.exp(-y/2)
data = [random.gauss(0.0, 1.0) for i in range(1000)]

# Plot figure
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()

ax2.hist(data, bins=40, normed=True, color='g',zorder=0)
ax2.plot(x, y2, color='r', linewidth=2, zorder=2)
ax1.plot(x, y, color='b', linewidth=2, zorder=5)

ax1.set_ylabel("Parabola")
ax2.set_ylabel("Normal distribution")

ax1.yaxis.label.set_color('b')
ax2.yaxis.label.set_color('r')

plt.show()

编辑:由于某种原因,我无法上传此代码生成的图像。我稍后再试。

最佳答案

您可以设置轴的 zorderax.set_zorder()。然后需要删除该轴的背景,以便下面的轴仍然可见。

ax2 = ax1.twinx()
ax1.set_zorder(10)
ax1.patch.set_visible(False)

关于python - PyPlot 将替代 y 轴移动到背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47639967/

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