Thanks Karl,
I'm going to go with option 1, I just did a test and I didn't realize you could put in an empty string and therefore not display anything in a tick array. For example, if I want to have a tick displayed for datapoints 1,4,7,10,13,16, and 19, my array would look something like:
ticks: [[1,'2000'], [2,''], [3,''], [4,'2003'], [5,''], [6,''], [7,'2006'], [8,''], [9,''], [10,'2009'], [11,''], [12,''], [13,'2012'], [14,''], [15,''], [16,'2015'], [17,''], [18,''], [19,'2018'], [20,'']]
Thanks again for your help.