Matplotlib с несколькими масштабами по оси Y: нарисуйте сетку за всеми другими элементами - PullRequest
0 голосов
/ 13 июля 2020

График нарисован с двумя шкалами y. Предполагается, что сетка находится за всеми другими элементами (такими как поле легенды и линии), поскольку rcPrams обновляется с использованием "axes.axisbelow":True, но сетка появляется поверх первого графика (ie ax1). Я пробовал .set_axisbelow(True) для каждой оси, но это тоже не сработало. Любые предложения по этому поводу были бы полезны. Заранее спасибо.

A MWE:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams.update({"axes.grid": True,"axes.axisbelow":True})


# Create some mock data
t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)
fig = plt.figure()


ax1 = fig.subplots()
ax1.set_axisbelow(True)
ax1.plot(t, data1, color="red", label="first")


ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis
ax2.set_axisbelow(True)
ax2.plot(t, data2, label="second")

ax1.set_xlabel("A caption 2 445 g")
ax2.set_ylabel("Intensitat")
ax2.set_ylabel("A y item")

ax2.legend()
ax1.legend()
plt.tight_layout()
plt.savefig(fname="graph")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...