I would like to show the date in quarter format on the x axis. So far this is my code. However, not all the dates are shown in the graph. Can anyone help me with this issue?
\documentclass{article}%[border=1cm]{standalone}
\usepackage{xcolor}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{pgfplots}
\usepackage{float}
\usepackage[font=footnotesize, labelfont=bf]{caption}
\usepackage{lscape}
\usepackage{longtable}
\usepackage{array}
\usetikzlibrary{patterns,positioning,arrows}
\usepackage{csvsimple}
\usepgfplotslibrary{dateplot}
\pgfplotsset{compat=newest}
\usepackage{pgfplotstable}
\usepackage{enumitem}
\usepackage{tabularx}
\usepackage{threeparttable}
\usepackage{multirow}
\pgfplotsset{compat=1.8, scaled y ticks=false}
\begin{document}
\pgfplotstableread[col sep=comma]{
date, variable
1990Q1, 12496.47
1990Q2, 8769.965
1990Q3, 16198.83
1990Q4, 11872.27
1991Q1, 8223.55
1991Q2, 10483.81
1991Q3, 6208.322
1991Q4, 7314.133
1992Q1, 12616.9
1992Q2, 7358.835
1992Q3, 6777.611
1992Q4, 13982.37
1993Q1, 13705.72
1993Q2, 10558.9
1993Q3, 15698.88
1993Q4, 11880.08
1994Q1, 9655.853
1994Q2, 9446.236
1994Q3, 12937.13
1994Q4, 8478.318
1995Q1, 11010.07
1995Q2, 9926.974
1995Q3, 8000.667
1995Q4, 11781.52
1996Q1, 10780.95
1996Q2, 11799.2
1996Q3, 9862.246
1996Q4, 8467.397
1997Q1, 8311.305
1997Q2, 11003.56
1997Q3, 8718.845
1997Q4, 6869.106
1998Q1, 13808.13
1998Q2, 9724.482
1998Q3, 14250.31
1998Q4, 9511.105
1999Q1, 11074.92
1999Q2, 13018.25
1999Q3, 5777.769
1999Q4, 7862.549
2000Q1, 5832.333
2000Q2, 5569.941
2000Q3, 13816.67
2000Q4, 11881.05
2001Q1, 22324.51
2001Q2, 13179.21
2001Q3, 25155.95
2001Q4, 23448.18
2002Q1, 22597.36
2002Q2, 17938.45
2002Q3, 14136.45
2002Q4, 27832.88
2003Q1, 25718.62
2003Q2, 34454.82
2003Q3, 23886.34
2003Q4, 12058.21
2004Q1, 16122.31
2004Q2, 9975.339
2004Q3, 14397.81
2004Q4, 13202.73
2005Q1, 11537.9
2005Q2, 11866.98
2005Q3, 20193.73
2005Q4, 12165.63
2006Q1, 11552.83
2006Q2, 8235.158
2006Q3, 11854.69
2006Q4, 9051.431
2007Q1, 13357.51
2007Q2, 18459.61
2007Q3, 21867.71
2007Q4, 13843.68
2008Q1, 13176.87
2008Q2, 18019.05
2008Q3, 14048.15
2008Q4, 13245.42
2009Q1, 21794.11
2009Q2, 18972.07
2009Q3, 14507.25
2009Q4, 18951.79
2010Q1, 19711.91
2010Q2, 21449.03
2010Q3, 19653.44
2010Q4, 14901.64
2011Q1, 13397.83
2011Q2, 14121
2011Q3, 20227.56
2011Q4, 19436.98
2012Q1, 18629.88
2012Q2, 36827.88
2012Q3, 25945.24
2012Q4, 38752.27
2013Q1, 31598.92
2013Q2, 14113.9
2013Q3, 15802.53
2013Q4, 18492.01
2014Q1, 19536.86
2014Q2, 20086.1
2014Q3, 14211.19
2014Q4, 17252.02
2015Q1, 29838.2
2015Q2, 25360.74
2015Q3, 21280.47
2015Q4, 18517.9
2016Q1, 22826.08
2016Q2, 18513.21
2016Q3, 30182.29
2016Q4, 32031.3
2017Q1, 29910.11
2017Q2, 16514.35
2017Q3, 16325.61
2017Q4, 28396.56
2018Q1, 13622.16
2018Q2, 25653.23
2018Q3, 28710.76
2018Q4, 26443.05
2019Q1, 36588.02
2019Q2, 40489.04
2019Q3, 32800.98
2019Q4, 52716.26
2020Q1, 55684.71
2020Q2, 28914.37
2020Q3, 27497.73
2020Q4, 22319.62
2021Q1, 11888.73
2021Q2, 18072.81
}\datatable
\begin{figure}[H]
\centering
\caption{World Uncertainty Index}
\begin{tikzpicture}
\begin{axis}[
height=10cm,
width=13cm,
enlarge y limits=false,
enlarge x limits=0.01,
ymin=0,
ymax=60000,
axis x line* = bottom,
axis y line* = left,
xticklabels from table={\datatable}{date},
x tick label style={rotate=90, anchor=east},
ylabel = {in Points}
]
\addplot [] table [x expr=\coordindex, y=variable] {\datatable};
\end{axis}
\end{tikzpicture}%
\end{figure}
\end{document}
Also I would like to make annotations with this code. But this does not work.
\draw [draw=red,>=stealth,shorten <=2pt,<-] (axis cs:2001Q1,180.1903218)-- +(0pt,35pt) node[font=\footnotesize, right] {9/11};
Thank you for your help in advance!
xticklabels from table={\datatable}{date}
you also needxtick=data
. That would create many ticks. Alternative - see my solution.