I am currently struggling on two (silly) difficulties:
First, I want X-axis to display all values of "date" (it does not show 1300, 1500, 1700, 1750 and 1850 on the plot above);
Second, on the X-axis the difference between 1000 and 1200 is wider than it is between 1200 and 1300, or between 1700 and 1750 (because "date" is numeric). I want X-axis to have equal distance between all 10 values of "date".
I have found one suggestion in the Internet about doing it, which unfortunately did not work:
the warning geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic? gives a clue to how to address your issue.
you simply add group=1, I simplified your plot code also, see