我需要对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)
,它失败了。
图例中的标签仅显示第二个轴axis2。同样,我不明白这是如何工作的,或者如何改变它。我想最新的命令(axes2.plt()
)会将该轴作为绘图的活动轴。我将如何明确地操纵它?
答案 0 :(得分:0)
1)要设置每个x轴的限制,axes1.set_xlim(0,300)
和axes2.set_xlim(0, 300)
对我有效。
方法set_data_interval
是'轴'(图的实轴)的方法,而set_xlim
是'轴'对象的方法(图中出现的区域,与轴,线,文本等)。 axes1
和axes2
是'轴'(由add_subplot
方法返回)。
2)要获取图例中两个轴的标签,请查看此问题给出的解决方案:Secondary axis with twinx(): how to add to legend?
答案 1 :(得分:-1)
axes.gca()对我不起作用。 axes.set_ylim(y0,y1)和axes.set_xlim(x0,x1)完美运作!