Как подписать оси на графике в Matplotlib Pyplot
Подскажите пожалуйста как подписать оси на графике построенном в библиотеке Matplotlib pyplot если оси выровнены по центру. Вот мой код:
import matplotlib.pyplot as plt
import numpy as np
a = 0.04
y = lambda x: a * np.sin(x)
fig = plt.subplots()
plt.title("First graphic: 0.04 * sin(x)")
x = np.linspace(-10, 10, 100)
plt.plot(x, y(x), "r-")
ax = plt.gca()
ax.spines['left'].set_position("center")
ax.spines['bottom'].set_position('center')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.set_xlabel("X", fontsize=15, color='blue')
ax.set_ylabel("Y", fontsize=15, color='orange')
plt.show()
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте добавить labelpad
import matplotlib.pyplot as plt
import numpy as np
a = 0.04
y = lambda x: a * np.sin(x)
fig = plt.subplots()
plt.title("First graphic: 0.04 * sin(x)")
x = np.linspace(-10, 10, 100)
plt.plot(x, y(x), "r-")
ax = plt.gca()
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.set_xlabel("X", fontsize=15, color='blue', labelpad=120) # +
ax.set_ylabel("Y", fontsize=15, color='orange', labelpad=140) # +
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
plt.show()
А случайно не знаете, игрек можно перевернуть или тут уже всё?
Попробуйте добавить rotation
import matplotlib.pyplot as plt
import numpy as np
a = 0.04
y = lambda x: a * np.sin(x)
fig = plt.subplots()
plt.title("First graphic: 0.04 * sin(x)")
x = np.linspace(-10, 10, 100)
plt.plot(x, y(x), "r-")
ax = plt.gca()
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.set_xlabel("X", fontsize=15, color='blue', labelpad=120) # +
ax.set_ylabel("Y", fontsize=15, color='orange', labelpad=140, rotation=0) # +
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
plt.show()
Автор решения: strawdog
→ Ссылка
Вы можете вручную располагать маркеры осей, принимая во внимание, что для маркеров начало координат находится в левом нижнем углу и позиция измеряется в долях от единицы:
ax.xaxis.set_label_coords(1.005, 0.495)
ax.yaxis.set_label_coords(0.495, 1.005)



