A data example posted by Aziz Essouaied at https://www.statalist.org/forums/for...-tsset-command serves nicely to illustrate various small points of graphical technique.
The code posted here is indicative, not definitive. On the contrary, small details are what this is all about and you may want choices different in detail, or may need any such for your own data.

Something like this may help particularly with quarterly or monthly data. occasionally with data with some other time basis.
Here quarters are intervals, but we may choose to show them as data points.
Years are intervals but conversely we do often want to show them as such. So in the code there is a loop over years setting up
axis labels to be shown in the middle of each year (between quarters 2 and 3)
ticks and divider lines to be shown after the end of each year (between quarters 4 and 1)
That removes awkward annotation such as "2012q1". But the years should not be shown with accompanying ticks (or grid lines -- in some graph schemes you may need to fight off grid lines).
Other way round, you may want, as in the code, ticks at year ends and to make them longer -- or you may want to omit them all together. Note in passing that removing ticks, setting their length to zero, and setting their colour to none are three different techniques.
You may want dividers between years. When I do want dividers I usually want them to be very thin and very pale. There could be exceptions. If there was a change of government or policy or some other sudden or important change, you may want the opposite.
In most people's education that was some teacher who marked down graphs severely if some axis was explained poorly (or not at all). That teacher was more right than wrong, but for graphs like these we surely don't need some dopey x axis title like Date or Year. Or so I suggest.
This is just a recycling of points made elsewhere, but someimes advice bears repetition.
Here seasonality appears muted but an example in one paper https://journals.sagepub.com/doi/pdf...867X0800700410 shows a more seasonal pattern.
Tick trickery was reviewed at https://journals.sagepub.com/doi/pdf...36867X19874264
The code posted here is indicative, not definitive. On the contrary, small details are what this is all about and you may want choices different in detail, or may need any such for your own data.
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input str10 Trimester float Regulated_Savings "31/03/2012" 602.745 "30/06/2012" 610.186 "30/09/2012" 618.868 "31/12/2012" 649.851 "31/03/2013" 663.513 "30/06/2013" 671.947 "30/09/2013" 676.439 "31/12/2013" 675.125 "31/03/2014" 680.735 "30/06/2014" 684.159 "30/09/2014" 685.923 "31/12/2014" 685.712 "31/03/2015" 691.676 "30/06/2015" 695.007 "30/09/2015" 696.561 "31/12/2015" 698.123 "31/03/2016" 703.648 "30/06/2016" 707.075 "30/09/2016" 710.701 "31/12/2016" 714.973 "31/03/2017" 719.871 "30/06/2017" 725.44 "30/09/2017" 729.505 "31/12/2017" 733.054 "31/03/2018" 739.07 "30/06/2018" 742.654 "30/09/2018" 745.892 "31/12/2018" 751.387 "31/03/2019" 758.858 "30/06/2019" 763.99 "30/09/2019" 767.992 "31/12/2019" 771.523 "31/03/2020" 781.125 "30/06/2020" 799.21 "30/09/2020" 806.111 "31/12/2020" 813.715 "31/03/2021" 825.781 "30/06/2021" 832.057 "30/09/2021" 834.94 "31/12/2021" 833.74 "31/03/2022" 845.136 "30/06/2022" 848.772 "30/09/2022" 862.34 "31/12/2022" 874.131 "31/03/2023" 902.552 "30/06/2023" 914.995 "30/09/2023" 926.074 "31/12/2023" 935.543 "31/03/2024" 942.37 "30/06/2024" 946.971 "30/09/2024" 953.214 "31/12/2024" 955.681 end gen QDate = qofd(daily(Trimester, "DMY")) format QDate %tq line Regulated_Savings QDate forval y = 2012/2024 { local mid = yq(`y', 2) + 0.5 local mids `mids' `mid' "`y'" local end = yq(`y', 4) + 0.5 local ends `ends' `end' } twoway connected Regulated_Savings QDate, xla(`mids', tlength(0)) xline(`ends', lc(gs12) lw(vthin) lp(solid)) xtick(`ends', tlength(*4)) xtitle("") ytitle(better title needed here with units of measurement)
Something like this may help particularly with quarterly or monthly data. occasionally with data with some other time basis.
Here quarters are intervals, but we may choose to show them as data points.
Years are intervals but conversely we do often want to show them as such. So in the code there is a loop over years setting up
axis labels to be shown in the middle of each year (between quarters 2 and 3)
ticks and divider lines to be shown after the end of each year (between quarters 4 and 1)
That removes awkward annotation such as "2012q1". But the years should not be shown with accompanying ticks (or grid lines -- in some graph schemes you may need to fight off grid lines).
Other way round, you may want, as in the code, ticks at year ends and to make them longer -- or you may want to omit them all together. Note in passing that removing ticks, setting their length to zero, and setting their colour to none are three different techniques.
You may want dividers between years. When I do want dividers I usually want them to be very thin and very pale. There could be exceptions. If there was a change of government or policy or some other sudden or important change, you may want the opposite.
In most people's education that was some teacher who marked down graphs severely if some axis was explained poorly (or not at all). That teacher was more right than wrong, but for graphs like these we surely don't need some dopey x axis title like Date or Year. Or so I suggest.
This is just a recycling of points made elsewhere, but someimes advice bears repetition.
Here seasonality appears muted but an example in one paper https://journals.sagepub.com/doi/pdf...867X0800700410 shows a more seasonal pattern.
Tick trickery was reviewed at https://journals.sagepub.com/doi/pdf...36867X19874264
Comment