Plot your scholarly output using the scholar R package


Shiny App Iframe

How to use it

It only requires the full link to your Google Scholar profile (just copy it and paste it in the box), and it will create a plot with your name (as it appears on your Google Scholar profile) and two panels:

  1. Citations per publication including both your h-index and, importantly, g-index (which I have never seen in plots before)
  2. Number of publications and citations per year including total number of citations

Below is an example of the ScholarlyOutput UI showing a plot of my own profile:

ScholarlyOutput user interface

You can change an accent colour and filter publications.

Colour picker

Once you are happy, the plot can be exported to PNG, PDF, and even SVG format in case you want to edit it (the downloaded file will be named Scholar_profile.png, only changing the file extension depending in the format you selected).

The downloaded plot (in this case, as PNG) looks like this:

ScholarlyOutput plot example

This app uses the fantastic scholar R package to extract the info from your Google Scholar profile, and then several packages (mostly tidyverse packages including ggplot2) to wrangle and plot these data.

How to run it locally

While this app is available from my (rather slow) personal Shiny server, if that is too slow or my server is not working, you can always run it locally in your computer with R installed.

This is very easy: you can simply run the code below in R:

runGitHub("ScholarlyOutput", "JDLeongomez")

Alternatively, you can always clone or download the ScholarlyOutput repository, and run the app.R file.

Click here to make sure you have all the necessary packages installed
Please note that the shiny package must be installed. Other R packages used in this app include thematic, shinythemes, colourpicker, stringr, scholar, dplyr, tidyr, ggplot2, ggpubr, scales, and purrr.

If you want, you can first run the following code, which will check which of these packages are already installed on your computer, and install the missing ones (if any).

# Required packages
packages <- c("shiny", 
# Install packages not yet installed
installed_packages <- packages %in% rownames(installed.packages())
if (any(installed_packages == FALSE)) {

Why I made this super small app

I originally wrote a script to download data from Google Scholar and make these plots for a particular version of my CV. However, several friends liked it and wanted to make plots of their own profiles (and be able to easily update them), so I decided to turn the code into a Shiny App for anyone to use.

Juan David Leongómez
Juan David Leongómez
Associate Professor

My research interests include mate choice and human vocal communication, with an aspiration towards understanding musicality. I am also interested in bioacoustics and psychoacoustics, as well as statistics and  programming.