如何在for循环中使用ComplexPortraits.jl绘制多个复函数相图?
ComplexPortraits.jl循环生成复函数图像无输出的解决方法
你遇到的问题是因为ComplexPortraits的phaseplot函数默认仅返回绘图对象,不会自动触发显示,循环调用时绘图输出默认被抑制,需要根据你的使用场景选择对应的修改方案:
方案1:循环中直接显示所有图像
适用于VSCode、Jupyter等交互式运行环境,调用display()手动触发每张图的显示:
using ComplexPortraits @ComplexPortraits.import_normal for i in 1:5 # 可根据需求替换为不同的复函数逻辑,这里示例用z^i区分5张不同的图像 plt = ComplexPortraits.phaseplot(2 - 2*im, -2 + 2im, z -> z^i) display(plt) end
运行后所有图像会依次在环境的输出面板中展示。
方案2:批量保存图像到本地文件
适用于脚本非交互式运行,直接把生成的图像保存为本地文件,无需触发显示:
using ComplexPortraits @ComplexPortraits.import_normal for i in 1:5 plt = ComplexPortraits.phaseplot(2 - 2*im, -2 + 2im, z -> z^i) # 可自定义文件名和保存格式,支持png、svg、pdf等 savefig(plt, "复函数绘图_$i.png") end
运行后会在当前工作目录生成5张对应编号的图像文件。
内容的提问来源于stack exchange,提问作者floop loop
相关产品推荐
相关产品推荐

