【问题标题】:Cannot plot with Gadfly when running script with `julia -i`使用“julia -i”运行脚本时无法使用 Gadfly 绘图
【发布时间】:2022-01-09 21:56:56
【问题描述】:

当从命令行运行 julia REPL 并复制粘贴我的脚本时,Gadfly plot 命令按预期工作。

但是,当运行 julia -i scriptname.jl plot 时不再工作并打印:

julia> DataFrame(CSV.File("file.csv"))
julia> plot(massdf, x=:date, y=:mass, group=:day, color=:day, Geom.line)
Plot(...)

julia>

是否需要进行设置才能使其工作?

【问题讨论】:

  • 可以分享脚本吗?这可能与您是否明确显示图像等有关。
  • @logankilpatrick 我已经从我的脚本中添加了详细信息。我只是使用在直接 REPL 中运行时打开浏览器并显示 hmtl + SVG 的默认值。
  • 正如@logankilpatrick 建议的那样,您需要在脚本中显式显示plot() 的输出(这是在 Read-Eval-Print-Loop 中隐式完成的,但不是当整个脚本被执行时,即使是-i)。使用display(p::Plot),或draw(backend::Compose.Backend, p::Plot)
  • @EricLavault 您能否将其添加为答案?
  • @SundarR 完成了。

标签: plot julia interactive gadfly


【解决方案1】:

您需要在脚本中显式显示 plot() 的输出(这是在 Read-Eval-Print-Loop 中隐式完成的,但在整个脚本执行时不需要,即使使用 @ 987654325@)。

使用display(p::Plot),或draw(backend::Compose.Backend, p::Plot)

df = DataFrame(CSV.File("file.csv"))
p = plot(df, x=:date, y=:mass, group=:day, color=:day, Geom.line)
display(p)

另见牛虻Backends

【讨论】:

  • 我尝试了“display(p)”和“display(p::Plot)”并得到相同的结果:“Plot(...)”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 2016-06-18
  • 2012-06-03
  • 2017-12-06
  • 2018-11-03
相关资源
最近更新 更多