Как поместить текст в отрицательную точку y на участке? - PullRequest
0 голосов
/ 12 июня 2019

Я хочу нанести некоторые данные (прямоугольные сигналы) на участок, но я хочу удалить ось для лучшей визуализации.Это приводит к отсутствию ylabel.Я думал, что мог бы добавить простой text(), чтобы я мог вручную вставить нужный текст, но я не могу использовать отрицательные значения для оси Y (как я мог бы без подзаговора).Код, который я думал, будет работать:

fig, (ax1, ax2, ax3, ax4, ax5, ax6)= plt.subplots(6,1)

#plot
ax1.plot(PathClockGeneration_4.q2bar_x,PathClockGeneration_4.clk_y, linewidth=2, color='black')
ax2.plot(PathClockGeneration_4.q2bar_x,PathClockGeneration_4.clkbar_y, linewidth=2, color='black')
ax3.plot(PathClockGeneration_4.q2bar_x,PathClockGeneration_4.q1_y, linewidth=2, color='C0')
ax4.plot(PathClockGeneration_4.q2bar_x,PathClockGeneration_4.q2_y, linewidth=2, color='C1')
ax5.plot(PathClockGeneration_4.q2bar_x,PathClockGeneration_4.q1bar_y, linewidth=2, color='C2')
ax6.plot(PathClockGeneration_4.q2bar_x,PathClockGeneration_4.q2bar_y, linewidth=2, color='C3')

#axis
ax1.axis('off')
ax2.axis('off')
ax3.axis('off')
ax4.axis('off')
ax5.axis('off')
ax6.axis('off')


#text
ax1.text(-1.5, 2, 'MyText')

Если я попробую последнюю строку как ax1.text(0, 2, 'MyText'), она будет работать нормально, но расположение текста не то, что я хочу.Я полагаю, это зависит от размера моего графика, и мне нужно его изменить, как это сделать?

РЕДАКТИРОВАТЬ

Это то, что я получаю скрывает ось вручную (что может позволить мне вставить ylabel). Это - это то, что я действительно хочу, поскольку сюжет получен из кода, размещенного выше, комментируя ax1.text(-1.5, 2, 'MyText')

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете использовать fig вместо ax1, чтобы разместить текст. Аргументы 0.05, 0.6 - это координаты x и y в относительном масштабе. Вы можете выбрать их по своему вкусу.



Полный ответ

import numpy as np
import matplotlib.pyplot as plt

fig, (ax1, ax2, ax3, ax4, ax5, ax6) = plt.subplots(6,1)

x = np.linspace(0, 4*np.pi, 100)
y = np.sin(x)
ax1.plot(x, y, linewidth=2, color='black')
ax2.plot(x, y, linewidth=2, color='black')
ax3.plot(x, y, linewidth=2, color='C0')
ax4.plot(x, y, linewidth=2, color='C1')
ax5.plot(x, y, linewidth=2, color='C2')
ax6.plot(x, y, linewidth=2, color='C3')

# Hiding axis
for ax in [ax1, ax2, ax3, ax4, ax5, ax6]:
    ax.axis('off')

fig.text(0.05, 0.6, 'MyText', rotation=90, fontsize=20)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...