Maybe this thread will help? How to get the correct time axis when using augur refine and timetree? - Nextstrain Discussion
I extracted “node_dates” from each node in branch_lengths.json and then used the minimum and maximum node dates for calibrating the x-axis. I also calculated a “scale_factor” which was the x-range (max node date - min node date) divided by the maximum tree height (max(node.depth.edgelength(tree))). I used plot.phylo from phytools though… Let me know if you need the exact code.