如何使用Julia中的时间数据获得更好的Plots.jl xaxis刻度标签?

如何使用Julia中的时间数据获得更好的Plots.jl xaxis刻度标签?,plot,time,julia,visualization,plots.jl,Plot,Time,Julia,Visualization,Plots.jl,我想查看[00:00:00,02:00:00,04:00:00,06:00:00]或类似的xtick标签。pyplot和GR后端给出了类似的结果。我可以使用任何支持左yaxis和右yaxis的后端 默认图 我的尝试 上次尝试设置xticks已关闭,但我仍然无法显示最后一个勾号。有趣的是,我将范围的最后一个值设置为什么并不重要xticks=Time(0):Hour(2):Time(10)生成相同的图像。这将起作用: plot(df.Time, df.Data, xlims =

我想查看
[00:00:00,02:00:00,04:00:00,06:00:00]
或类似的xtick标签。pyplot和GR后端给出了类似的结果。我可以使用任何支持左yaxis和右yaxis的后端

默认图

我的尝试

上次尝试设置
xticks
已关闭,但我仍然无法显示最后一个勾号。有趣的是,我将范围的最后一个值设置为什么并不重要
xticks=Time(0):Hour(2):Time(10)
生成相同的图像。

这将起作用:

plot(df.Time, df.Data, 
     xlims = (Dates.value(Time(0)), Dates.value(Time(6))), 
     xticks = Time(0):Hour(2):Time(6)
)
我觉得这在没有日期的情况下应该是可行的


最近,添加了对
Date
DateTime
()的支持,但不支持
Time
TimePeriod

您是否尝试过
xticks=Time(0):Hour(2):Time(6)
?(
Hour
是一个持续时间)或
xlims=(时间(0),时间(6))
@MarcMush谢谢你的提示!我更新了问题,纳入了你的建议。
xticks
选项可能已经足够好了,但我将保留这个问题,看看是否有更好的方法。进一步调查后,
xticks
解决方案不会以任何方式改变图形的外观,只会改变轴<代码>时间(6)不显示,因为它不在图表中。同样,如果我使用
xticks=Time(2):Hour(2):Time(4)
,唯一的效果就是删除
00:00:00
勾号标签。我更喜欢一种方法,它还可以重新缩放图形。
julia> plot(df.Time, df.Data, lims = :round)
julia> plot(df.Time, df.Data, ticks = 4)
julia> plot(df.Time, df.Data, lims = :round, ticks = 4)
julia> plot(df.Time, df.Data, xlims = (Time(0), Time(6)))
ERROR: MethodError: no method matching Float64(::Time)
Closest candidates are:
  Float64(::UInt32) at float.jl:66
  Float64(::Int128) at float.jl:94
  Float64(::Float16) at float.jl:256
  ...
Stacktrace:
 [1] (::RecipesPipeline.var"#7#8"{Symbol})(::Time) at C:\Users\nboyer.AIP\.julia\packages\RecipesPipeline\uPBKQ\src\utils.jl:201
 [2] optimal_ticks_and_labels(::Plots.Subplot{Plots.GRBackend}, ::Plots.Axis, ::Nothing) at C:\Users\nboyer.AIP\.julia\packages\Plots\vsE7b\src\axes.jl:167
julia> plot(df.Time, df.Data, xticks = Time(0):Hour(2):Time(6))
plot(df.Time, df.Data, 
     xlims = (Dates.value(Time(0)), Dates.value(Time(6))), 
     xticks = Time(0):Hour(2):Time(6)
)