在 VSCode 中使用 Julia 的 PlotlyJS 时,放大不适应日期轴

Posted

技术标签:

【中文标题】在 VSCode 中使用 Julia 的 PlotlyJS 时,放大不适应日期轴【英文标题】:Zooming in does not adapt date axis when using Julia's PlotlyJS in VSCode 【发布时间】:2021-12-03 01:48:27 【问题描述】:

我正在使用Plots.plot 和 PlotlyJS 在 VSCode 编辑器中显示时间序列,如下所示:

using Plots
using PlotlyJS
...
plotlyjs()
plot = Plots.plot(dates, y)
display(plot)

因此,虽然情节是“交互式的”,但日期不会动态适应所选区域。 Here 是我所面临问题的快速视频。理想情况下,我希望每次放大(或缩小)时都能以一种很好的方式显示日期,而不仅仅是在初始创建时固定一次。

如何做到这一点?

【问题讨论】:

有几个关于这个的github问题(可以追溯到2018年),它源于Plots在发送到plotlyjs这样的后端之前计算的滴答声,所以滴答声结束了被冻结。修复方法是在您的绘图方法中添加一个参数 ticks=:native,但是存在一个未解决的问题,即当某些参数存在时,此日期不适用于日期。你应该试一试。 成功了!壮观。将此作为答案,我会接受,谢谢! 好的,我会这样做的。 【参考方案1】:

您的问题接近Github issue 1382。问题是Plots 在通过plotlyjs() 将其发送到后端之前计算滴答声,因此即使后端通常是自适应的,滴答声最终也会“冻结”。他们实现了一个参数ticks = :native (issue 1395) 来解决这个问题,但请注意它不适用于某些参数,这就是为什么它不是默认值(issue 1425、issue 3263)。

问题 1395 中的用法示例:

using Plots; plotly()
plot(rand(10), ticks = :native)

【讨论】:

以上是关于在 VSCode 中使用 Julia 的 PlotlyJS 时,放大不适应日期轴的主要内容,如果未能解决你的问题,请参考以下文章

Julia 与 Linux 中的 VS Code 集成

Julia LoadError: UndefVarError: plot not defined 问题解决

Julia LoadError: UndefVarError: plot not defined 问题解决

Julia LoadError: UndefVarError: plot not defined 问题解决

julia/pyplot 绘图加入标签和标题

运筹系列68:julia启发式求解tsp问题