如何在Julia中制作交互式绘图

4

我想在一个交互式图表上绘制时间序列数据,以便可以缩放数据进行详细观察。 我的基本绘图代码如下:

using IterableTables, DataFrames, CSV, Dates, TimeSeries, Plots

myfile="test2.csv"
dmft = dateformat"d/m/yyyy HH:MM:SS"
println(dmft)
df = DataFrame(CSV.File(joinpath(@__DIR__,myfile); dateformat=dmft))
df2 = filter(row -> row[:Date] <= Dates.DateTime("2020-10-15T00:06:00"), df)

x = convert(Matrix, df[:, [:Date]])
y = convert(Matrix, df[:, [:Col3]])

#在此块中我放置了平常使用的绘图函数,但已将其删除

请有经验的人提供建议,如何在交互式绘图上绘制这两列数据?

提前感谢您的帮助。

2个回答

9

Plots.jl 的 plotlyjs 后端支持交互式缩放等功能。

代码应该是(我现在无法测试):

using Plots
plotlyjs()
plot(x, y)

我经常在Pluto notebook中使用这个功能,你可以添加PlutoUI元素(如滑块、选框)用于交互式过滤/数据探索。

我是否正确理解,Plotly.jl 中缺少了许多标准的 plotly 函数(按钮、动画等)?在文档中找不到相关信息,但 plotly 从来没有被完全记录下来。 - Elliott Collins

0

要想在Plots.jl上实现类似Matlab的交互行为,请运行default(show=true)。或者,您可以切换到PyPlot,其具有更直观的相同功能。如果需要更进一步的内容(例如参数操作),请参见Iteract.jl


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接