如何使用Plots.jl绘制双X轴(日期时间轴与整数轴)
用Plots.jl实现日期时间+整数型双X轴
要实现双X轴效果,你需要利用Plots.jl的孪生轴功能,确保两个X轴与同一组Y轴数据关联,这样刻度才能正确对齐。以下是修正后的代码:
using Plots, DataFrames # 假设df是包含datetime和closes列的DataFrame p = plot(1:nrow(df), df.closes, xlabel="整数索引", label="收盘价") # 创建共享Y轴的孪生坐标轴 twinx(p) # 在顶部添加日期时间X轴,关联同一组收盘价数据以保证刻度对齐 plot!(p, df.datetime, df.closes, xlabel="日期时间", xaxis=:top, label=false, ticks=:native) # 旋转日期刻度避免重叠(可选) xticks!(p, rotation=45)
关键说明:
- 原代码中使用
zeros绘制零值线,无法让双轴与同一数据关联,会导致刻度错位。修正后直接复用df.closes作为Y值,确保两个X轴的刻度对应同一数据点。 twinx(p)用于创建共享Y轴的孪生轴,是实现双X/双Y轴的核心函数。xaxis=:top将第二个X轴放置在图表顶部,区分于底部的整数索引轴。label=false避免重复添加图例,保持图表简洁。
内容的提问来源于stack exchange,提问作者BAR
相关产品推荐
相关产品推荐

