如何在pyplot双轴中获取坐标轴的句柄?

3

我需要对add_subplot进行一些澄清:在下面的示例中,我有2个子图,它们在y轴上相互关联。我想要操作每个轴,但是不太明白怎么做!

import matplotlib.pyplot as plt
fig = plt.figure()
axes1 = fig.add_subplot(111)
axes2 = axes1.twiny()    # share the y-axis
axes1.plot( somedata[:,2], somedata[:,1], label='axis1' )
axes2.plot( somedata[:,3], somedata[:,1], label='axis2' )
plt.legend()
plt.show()

我尝试设置每个x轴的限制:axes1.set_data_interval(0, 300),但失败了。
图例中的标签仅出现在第二个轴axes2上。同样,我不理解它是如何工作的,也不知道如何更改它。我猜测最新的命令(axes2.plt())将该轴保留为绘图的活动轴。我该如何明确地操作它?
2个回答

0

1) 设置每个x轴的限制,axes1.set_xlim(0,300)axes2.set_xlim(0, 300) 对我有效。

set_data_interval 方法是“axis”(绘图的实际轴)的方法,而 set_xlim 是“axes”对象的方法(您的绘图出现的区域,具有轴、线、文本等)。 而 axes1axes2 是 'axes'(由 add_subplot 方法返回)。

2) 要在图例中获取两个轴的标签,请查看此问题给出的解决方案:Secondary axis with twinx(): how to add to legend?


-1

axes.gca() 对我不起作用。axes.set_ylim(y0,y1) 和 axes.set_xlim(x0,x1) 完美地解决了问题!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接