Julia 如何在InteractiveDynamics.jl中保存交互式应用程序图形
在InteractiveDynamics包中的for abm_data_exploration中,它提到用户可以保存返回的图形。搜索文档时,我无法推断目标文件类型应该是什么,甚至无法推断我应该使用什么函数 假设该图形是这样定义的Julia 如何在InteractiveDynamics.jl中保存交互式应用程序图形,julia,Julia,在InteractiveDynamics包中的for abm_data_exploration中,它提到用户可以保存返回的图形。搜索文档时,我无法推断目标文件类型应该是什么,甚至无法推断我应该使用什么函数 假设该图形是这样定义的 figure, adf, mdf = abm_data_exploration( model, agent_step!, dummystep, parange; ac = groupcolor, am = groupmarker, as = 10,
figure, adf, mdf = abm_data_exploration(
model, agent_step!, dummystep, parange;
ac = groupcolor, am = groupmarker, as = 10,
adata, alabels
)
如何将此图(作为交互式应用程序)保存到磁盘?首先,让我们谈谈最常见的用例。文件的相关部分说明: 调用
abm\u data\u exploration
返回:figure,agent\u df,model\u df
。因此,您可以保存图形,但也可以访问收集的数据(如果有)
返回的图
是一个。我相信文档暗示的是,在完成与数据的交互后,您可以将最终图形保存为图像,或者您可以处理(例如,打印)数据帧中收集的数据agent\u df
和model\u df
。您可以使用支持的任何格式保存图形。据我所知,目前所有后端都支持PNG,例如:
save("figure.png", figure)
除PNG外,还支持保存为EPS、PDF和SVG
我可以保存一个交互式的Makie图吗?
答案可能完全取决于你想要实现什么,但这不太可能是你想要做的事情。当用户与界面交互时,可以执行任意代码。接收此应用程序的人需要Julia,在加载图形时,Julia的整个状态(模块、全局、函数)需要在该会话中复制。但是,在同一会话中,您可以关闭窗口,然后在后一点使用display(figure)
重新显示图形
我可以创建一个自包含的可重新定位的交互式应用程序吗?
可以从Julia代码编译可重新定位的应用程序。并非所有模块都可以包含在这种可重新定位的应用程序中,这并不简单,而且生成的二进制文件相当大:。abm_data_exploration()正在创建交互式应用程序。有没有办法保存(甚至只是显示)应用程序本身,而不是保存一个应用程序的静态图像?感谢您澄清这一点@ElliottCollins。我试图改进我的答案来解决这个问题。你是在找一张图片还是一个互动的?如果您希望捕获静态图像,那么@ahnlabb的解决方案是正确的。如果您询问如何显示模型的移动交互版本,您可以指定它。@ElliottCollins后者。先验地说,我有点怀疑这是可能的,但文档似乎暗示了这么多,我尽量不认为julia软件包不能做艰难的事情——我过去这样做是错误的。