我正在使用一个程序,该程序旨在采用一些参数并使用遗传算法根据所述参数优化五层镜面涂层。在终止之前,该程序旨在显示镜子在一定波长范围内的理论反射率图。该计划的最后四行是:
plot(lam,rf)
xlabel("wavelength(AA)")
ylabel("reflectivity")
title("Broadband reflectivity")
当我从命令行(sudo julia Broadband.jl
)运行时,图表永远不会显示;我在其中添加了一些println()
函数,并且在plot(lam,rf)
之前和之后都有输出。
也许最奇怪的部分是我复制了整个代码,将其粘贴到终端并直接从julia(julia> [ENTIRETY OF .JL FILE]
)运行,并显示了图表。有谁知道我错过了什么?
答案 0 :(得分:1)
请注意PyPlot README中的以下内容:
如果您使用来自交互式Julia提示符的PyPlot,例如Julia命令行提示符或IJulia笔记本,则会在评估绘图功能(绘图等)后立即显示绘图。
但是,如果您使用非交互式运行的Julia脚本中的PyPlot(例如julia myscript.jl),则Matplotlib将以非交互模式执行:在运行show()之前不会打开绘图窗口(相当于Python示例中的plt.show()。
因此,从命令行运行时,必须调用show()
以显示绘图。