gpt4 book ai didi

plot - Julia 笔记本中的绘图和打印文本之间的冲突

转载 作者:行者123 更新时间:2023-12-04 09:06:13 25 4
gpt4 key购买 nike

我有一个 Julia Jupyter 笔记本,我在其中用 Plots 生成图,例如,类似

thxpplot=plot(title=title,xlabel="T (K)",ylabel="V/V0")
thxpplot=plot!(Tplt,Vplt/V0,label=mat,color="red")
display((thxpplot))
以及文本输出,例如,
@printf("%s: %s (%d atoms)\n","Material",mat,N)
令人讨厌的是,两个输出流似乎都没有同步。经常发生,尤其是在比这更大的例子中,打印文本的一部分出现在情节之前,其余部分出现在情节之后,即使代码给出的指令序列清楚地将两者分开。如何确保这些输出流之间的正确同步,或者换句话说,如何立即刷新输出缓冲区?我不认为这是 Python 笔记本中的问题。
托马斯

最佳答案

你可以刷新标准输出

flush(stdout)
但是,如果您将绘图与文本混合使用,请注意绘图使用 display命令而不是 println有时您可能仍会遇到同步问题,因为这些流由 Jupyter 单独处理。
在这种情况下的解决方案是使用:
display("some text you want to display")
通过这种方式,您将能够控制输出顺序。
在你的情况下,而不是 @printf你可能想使用:
display(@sprintf("whatever you want to print"))
然而,这使用默认 text/plain MIME 类型(并添加引号等)。
通过不同的 MIME 类型,您的结果可能会更好:
display("text/json", @sprintf("%s: %s (%d atoms)\n","Material",4,5))
或者你甚至可以使用 HTML
display("text/html", @sprintf("%s: <b>%s</b> (<b>%d</b> atoms)\n","Material",4,5))

关于plot - Julia 笔记本中的绘图和打印文本之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63440947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com