matplotlib中plt.show()和plt.ion()问题

Nine_s 2018-07-20 09:43:32
如果注释了plt.show()可以显示出红线,但是无法更新学习(红线无法动态拟合),不注释plt.show()连红线都无法显示,什么原因,还是我其他的地方有错
...全文
1702 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiaoyuedexin 2020-06-06
  • 打赏
  • 举报
回复 2
发现PYCharm显示动态图需单独弹出视窗,具体设置方法如下: File->Settings->Tools->Python scientific->取消Show plots in tool window前的√
南极狼-xushy 2018-09-27
  • 打赏
  • 举报
回复
%matplotlib,运行之后就可以了,图片就不在notebook里显示,而是跳出一个窗口显示,这样就可以动态显示了。如果想切换回图片在notebook里显示,就运行%matplotlib inline。
捧一束阳光. 2018-07-23
  • 打赏
  • 举报
回复 7
这个是老版本的,改一下,不用figure建窗口,直接用plt.scatter(x_data,y_data)创建图,再plt.show()查看,然后在打开交互式模式plt.ion()。然后在for循环训练里把窗口对象ax换成plt.plot(......),再写延迟代码。具体如下:
plt.scatter(x_data,y_data)
plt.show()
plt.ion()
#学习训练1000步
for i in range(1000):
#training
sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
if i%50==0:
#看训练数据学习改进
# print(1-sess.run(loss,feed_dict={xs:x_data,ys:y_data}))
prediction_value = sess.run(prediction, feed_dict={xs: x_data})
plt.cla()
plt.scatter(x_data, y_data)
lines = plt.plot(x_data, prediction_value, 'r-', lw=5)
plt.pause(0.5)
Nine_s 2018-07-20
  • 打赏
  • 举报
回复
第一张图贴错了,不好意思

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧