如何将文本放置在subp中的负y点上

2024-09-30 01:35:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在子图中绘制一些数据(方波信号),但为了更好地可视化,我想删除轴。这导致没有一个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')尝试,效果很好,但是文本的位置不是我想要的位置。我想这是因为我的绘图允许的大小,我需要改变它,怎么做

编辑

这是我手动获取轴的hiding(这允许我插入一个ylabel)This是我真正想要的,通过注释ax1.text(-1.5, 2, 'MyText')从上面发布的代码中获得的绘图


Tags: textplotcoloroffaxisax1ax3linewidth
1条回答
网友
1楼 · 发布于 2024-09-30 01:35:27

您可以使用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

相关问题 更多 >

    热门问题