我想用Python创建不同的数字matplotlib.pyplot.然后,我想将其中一些保存到文件中,而其他应该使用该show()命令在屏幕上显示.
但是,show()显示所有创建的数字.我可以通过close()在创建我不想在屏幕上显示的图表之后调用来避免这种情况,如下面的代码所示:
import matplotlib.pyplot as plt
y1 = [4, 2, 7, 3]
y2 = [-7, 0, -1, -3]
plt.figure()
plt.plot(y1)
plt.savefig('figure1.png')
plt.close()
plt.figure()
plt.plot(y2)
plt.show()
plt.close('all')
Run Code Online (Sandbox Code Playgroud)
这样可以保存第一个数字并显示第二个数字.但是,我收到一条错误消息:
无法调用"event"命令:应用程序在执行时已被销毁
是否有可能以更优雅的方式选择要显示的数字?
还有,第一个figure()命令是多余的吗?无论我是否愿意,它似乎没有什么不同.
提前谢谢了.
在matplotlib.pyplot创建的绘图中,如何强制轴标签以指数表示法显示?对于值<1e-6,这似乎是自动完成的,但是对于5e-6,我得到"0.000005".我更喜欢将它显示为"5e-6".
我使用optimize.leastsq来拟合数据.我想将拟合参数约束到一定范围.使用optimize.leastsq时是否可以定义边界?Bounds在optimize.fmin_slsqp中实现,但我更喜欢使用optimize.leastsq.