This is very neat: a very quick method to retrieve and plot the number of PubMed publications, per year. The script below is based on Pierre Lindenbaum’s excellent answer.

It employs programmatic access via the NCBI/PubMed E-utilities [see also], with those dates plotted using Gnuplot.

Here is the ‘script’ (one-line in my bash script):

seq 1990 2016 | while read Y; do echo -n "$Y " && curl -s \
"https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=${Y}%5BPDAT%5D&retmode=xml&rettype=count" \
| xmllint --xpath '/eSearchResult/Count/text()' -  && echo ; \
done > pm.data; gnuplot -persist -e 'plot "pm.data"'

… that you can edit to alter the start / ending years.

Here it is again, on a single line:

seq 1990 2016 | while read Y; do echo -n "$Y " && curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=${Y}%5BPDAT%5D&retmode=xml&rettype=count" | xmllint --xpath '/eSearchResult/Count/text()' -  && echo ; done > pm.data; gnuplot -persist -e 'plot "pm.data"'

Notes:

  • %5B is ‘[’
  • %5D is ‘]’

Sample usage, output:

[victoria@victoria scripts]$ date; pwd

    Mon Sep  4 11:10:32 PDT 2017
    /mnt/Vancouver/Programming/scripts

[victoria@victoria scripts]$ ls -l pubmed*
    -rwxr-xr-x 1 victoria victoria 8.0K Sep  4 11:07 pubmed_by_year.sh

[victoria@victoria scripts]$ cat ~/.bashrc | grep pubmed=

    alias pubmed='echo "    [PubMed by year: 1990-2016 **edit script** to
    change dates]"&& /mnt/Vancouver/Programming/scripts/pubmed_by_year.sh'

[victoria@victoria scripts]$ pubmed
    [PubMed by year: 1990-2016 **edit script** to change dates]

[victoria@victoria scripts]$ cat pm.data

    1990 410137
    1991 412464
    1992 417112
    1993 426557
    1994 437439
    1995 448030
    1996 457596
    1997 455512
    1998 473074
    1999 492823
    2000 531696
    2001 546048
    2002 564275
    2003 593294
    2004 638264
    2005 699050
    2006 746428
    2007 784680
    2008 835329
    2009 875591
    2010 940228
    2011 1017704
    2012 1085325
    2013 1145837
    2014 1200703
    2015 1251138
    2016 1256227    ## << Plateau?! 🤔

[victoria@victoria scripts]$

PubMed publications: 1900-2016

PubMed publications: 1950-2016

PubMed publications: 1990-2016


Interestingly, the number of PubMed articles appeared to plateau in 2016! 🤔 It will be interesting to see how 2017 compares!


Verification of some of those numbers

PubMed (https://www.ncbi.nlm.nih.gov/pubmed)

2017-Sep-04: *

*  It is necessary to “time stamp” those figures, as PubMed updates the numbers daily with previously non-indexed content (even many years previous).