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: *

2018-Jun-12: *

pm.data :

  1990 410468
  1991 412791
  1992 417517
  1993 426992
  1994 437956
  1995 448682
  1996 458251
  1997 455780
  1998 473996
  1999 493228
  2000 531688
  2001 546639
  2002 564364
  2003 593436
  2004 638506
  2005 699237
  2006 746845
  2007 785176
  2008 835559
  2009 875880
  2010 940563
  2011 1018392
  2012 1086143
  2013 1146428
  2014 1201237
  2015 1254524
  2016 1264934
  2017 1279566 

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