2026a

# 无界面模式

图形库无界面模式允许在不显示图形窗口的情况下使用 TyPlot 库绘图,适用于服务器环境、自动化脚本或没有 PyQt 的系统。

# 无界面模式设置方法

在加载 TyPlot 库之前,需要设置环境变量 TYPLOT_BACKEND 的值为 "Agg"

# 方式一:在 Julia 会话中设置

# 在 using TyPlot 之前设置环境变量
ENV["TYPLOT_BACKEND"] = "Agg"
using TyPlot

# 方式二:在操作系统中设置

Windows:通过系统属性或设置面板添加环境变量 TYPLOT_BACKEND,值为 Agg,然后重启 Syslab。

Linux:在终端中直接使用 export TYPLOT_BACKEND=Agg 命令设置,设置后再启动 Syslab。

# 验证设置是否生效

# 检查环境变量是否设置正确
println("TYPLOT_BACKEND = ", get(ENV, "TYPLOT_BACKEND", "未设置"))

# 退出无界面模式方法

退出无界面模式的方法取决于无界面模式的设置方式,请参考对应的设置方法:

# 方式一:在 Julia 会话中设置

如果在 Julia 会话中使用 ENV["TYPLOT_BACKEND"] = "Agg" 设置的临时环境变量:

  1. 删除环境变量:删除 Julia 会话中的ENV["TYPLOT_BACKEND"] = "Agg"

  2. 重启 Julia 终端:关闭 Julia 终端并重新启动,using TyPlot 时默认使用有界面模式。

# 方式二:在操作系统中设置

Windows:通过系统属性或设置面板删除 TYPLOT_BACKEND 环境变量,然后重启 Syslab。

Linux:使用 unset TYPLOT_BACKEND 命令删除环境变量,然后重启 Syslab。

# 验证退出是否成功

# 检查环境变量是否已清除
println("TYPLOT_BACKEND = ", get(ENV, "TYPLOT_BACKEND", "未设置"))
# 如果显示 "未设置" 或非 "Agg" 值,表示已退出无界面模式

# 示例

# 无界面模式使用示例

# 设置无界面模式
ENV["TYPLOT_BACKEND"] = "Agg"
using TyPlot

# 创建图形并绘图(不会显示窗口)
f = figure()
plot(1:10)
title("无界面模式示例")

# 保存图形为图片
saveas(f, "figure.png")

# 保存为 syslabfig 格式
savefig(f, "figure.syslabfig")

# 批量处理示例

ENV["TYPLOT_BACKEND"] = "Agg"
using TyPlot

# 批量生成多个图形并保存
for i in 1:5
    f = figure()
    x = range(0, 2π, length=100)
    y = sin.(x .+ i*0.5)
    plot(x, y)
    title("正弦波 #$i")
    saveas(f, "plot_$i.png")
end
plt_close("all") # 无界面模式下图窗需要通过函数手动关闭

# 注意事项

  1. 设置时机:必须在 using TyPlot 之前设置环境变量,TyPlot 在加载时确定后端。

  2. 模块重新加载:修改环境变量后重新加载 TyPlot 无法立即切换模式,需要重启 Julia 终端。

  3. 功能限制:无界面模式下无法进行交互操作(如鼠标点击、缩放等),但保存、导出功能正常。