Extracting the points from a line in a ListPlot in this answer uses

points = Cases[Normal@plot, Line[pts_] :&gt; pts, Infinity];


This works in DateListPlot (provided Joined-&gt;True) (example below, using Last to get the y-axis data only)

Clear[test,plot,points];
test={{"2010",1},{"2011",2},{"2012",3},{"2014",4},{"2015",5},{"2016",6}};
plot=DateListPlot[test,Joined-&gt;True]
points=Last/@Flatten[Cases[Normal@plot,Line[pts_]:&gt;pts,Infinity],1]




(*OUTPUT
{1.,2.,3.,4.,5.,6.}


However, when the plot is limited by PlotRange using date values (lower plot), the function returns the entire list of points.

plot2=DateListPlot[test,Joined-&gt;True,PlotRange-&gt;{{"2012","2015"},{0,6}}]
points2=Last/@Flatten[Cases[Normal@plot2,Line[pts_]:&gt;pts,Infinity],1]




(*OUTPUT
{1.,2.,3.,4.,5.,6.}


Is there a function, like points which can return only the points displayed on the plot in DateListPlot  under 'PlotRange` ?


Question: Counting vowels with consonants
Answer: The following recursive function returns the number of vowels in an input string

public static int vc(String s){
    if(s.length() - 1 &lt; 0) return 0;
    return ((("aeiou".indexOf((s.charAt(s.length()-1)+"").toLowerCase()) &gt;= 0 ? 1 : 0))  
    + vc((s = s.substring(0,s.length()-1))));
}