Python gca()打开一个空白画布和我的图表

Python gca()打开一个空白画布和我的图表,python,matplotlib,Python,Matplotlib,我有一个较大文件中的python代码块 导入matplotlib.pyplot作为plt 将numpy作为np导入 #一些数据显示了这个问题 PlotData=[[I代表范围内的I(1000)],[np.sqrt(I)代表范围内的I(1000)]] #问题线 plt.gca() 图,Ax=plt.子批次(1,figsize=(32,24)) Ax.绘图(绘图数据[0],绘图数据[1]) Ax.set_title(“Sqrt(X)”,fontsize=24) Ax.setxlabel(“X”,fo

我有一个较大文件中的python代码块

导入matplotlib.pyplot作为plt
将numpy作为np导入
#一些数据显示了这个问题
PlotData=[[I代表范围内的I(1000)],[np.sqrt(I)代表范围内的I(1000)]]
#问题线
plt.gca()
图,Ax=plt.子批次(1,figsize=(32,24))
Ax.绘图(绘图数据[0],绘图数据[1])
Ax.set_title(“Sqrt(X)”,fontsize=24)
Ax.setxlabel(“X”,fontsize=20)
Ax.set_ylabel(“Y”,字体大小=20)
figManager=plt.get_current_fig_manager()
figManager.window.showMaximized()
plt.show()
无论何时我运行它,它都会完美地显示我的数据,但它也会打开第二块空白画布。但是,如果我删除了行<代码> PLT.gCa().StIdxLIM([PLOTATDATA(0)] [0 ],PlutDATA [0 ] [LeN(PlutDATA(0)] -1 ] ] < /代码>,它不再显示空白画布。在我的代码中,我有时会对数据执行一些操作,所以我需要这一行,如何防止出现空白画布

提前感谢所有人。

plt.gca()
是一种“将g设置为c当前axes”的操作。如果Axis对象尚不存在,它将为您创建一个

在使用
plt.subplot
创建地物之前,请执行此操作。这意味着您拥有图形和轴,然后将绘图放在这些图形和轴上,以及先前创建的轴(您看到的空白窗口)

解决方案是在创建轴后设置
xlim
。因此,将
plt.subplot
移到该行上方,或将该行下移(这样您就不需要
plt.gca().setxlim()
,只需使用
Ax.setxlim()

目前,这行代码对您的绘图没有任何作用,因为您正在将不同轴实例上的x限制设置为您绘制数据的轴实例。

plt.gca()
是一种操作,它“g设置c当前ax”。如果Axis对象尚不存在,它将为您创建一个

在使用
plt.subplot
创建地物之前,请执行此操作。这意味着您拥有图形和轴,然后将其放置在绘图上,以及先前创建的轴(您看到的空白窗口)

解决方案是在已经创建轴之后设置
xlim
。因此,将
plt.subplot
移动到该行上方,或将该行向下移动(这样就不需要
plt.gca().setxlim()
,只需使用
Ax.setxlim()

目前,这行代码对您的绘图没有任何作用,因为您正在将不同轴实例上的x限制设置为绘制数据的轴实例