I am developing a timeline display of data in a Silverlight application. In the first version it was fixed to a 24 hour period and I was able to easily create a static timescale using grids, borders, lines and text blocks. I now need to make the period displayed variable so the user might select a period of a year or more to get an overall feel for the look of the data, then zoom in to get a detailed view of a section of just minutes or seconds.
Scaling the data according to the period being displayed presents little problem but I am rather at a loss on how to determine the timescale ticks and labels for the displayed period. It's not simply a matter of drawing a tick for each month, day, hour, minute or second and labeling it as that would lead to a chaos of overlapping or truncated labels. Ideally one might even want to plot major and minor ticks at different intervals and label only the major ones, or perhaps only alternate, or each third major tick. Major ticks might need different labels than minor ones, for example days (date) and hours (01, 02, 03, etc.).
Can anyone give me some pointers to articles or perhaps source samples that might help me get a grip on this?