Giter Club home page Giter Club logo

plotsofdata's Introduction

PlotsOfData

A Shiny App for comparison of samples

Binder

About PlotsOfData

PlotsOfData visualizes data and statistics to enable the comparison of (experimental) conditions. The philosophy of the approach is that plotting the raw data (instead of a summary) improves transparency and interpretation (see also this blog). To further facilitate the comparison, summary statistics (mean, median, boxplot) and inferential statistics (confidence intervals) can be added. The user has full control over the visibility of the raw data and statistics by adjustment of the transparency (alpha). Details are described in a publication

Bootstrapping is used to calculate the (asymmetric) 95% CI of medians. More information in this blog

The data can be supplied in spreadsheet/long format (e.g. by copy-pasting from excel) or in tidy format. For more information on the conversion of spreadsheet data to tidy data see this blog.

The plot can be saved as a PDF file, which can be opened and edited with Adobe Illustrator to allow for fine adjustments of the lay-out.

Running the App

The app is available online: https://huygens.science.uva.nl/PlotsOfData/

But you can also run it offline in R/Rstudio. In the command line (in R or Rstudio) type shiny::runGitHub('PlotsOfData', 'JoachimGoedhart')

Or download it to use it offline:

-download the app.R and csv files with example data.

-Run RStudio and load app.R

-Select 'Run All' (shortcut is command-option-R on a Mac) or click on "Run App" (upper right button on the window)

This should launch a web browser with the Shiny app. Note that the app depends on several R packages that need to be installed (shiny, tidyverse, dplyr, ggbeeswarm, RCurl) Run this command in R/Rstudio to download and install all the packages at once: -install.packages("shiny", "tidyverse", "DT", "ggbeeswarm", "RCurl")

Background info

Videos that highlight several of the features of PlotsOfData are available on YouTube

Some aspects of the app are explained in blogs at The Node

Credits

PlotsOfData is inspired on BoxPlotR. See this link for background information on boxplots.
The code for the shiny app is partially derived from ggplotGUI by Gert Stulp
The colorblind safe palettes were developed by Paul Tol.

PlotsOfData is created and maintained by Joachim Goedhart (@joachimgoedhart)and Marten Postma

Example output

alt text

plotsofdata's People

Contributors

imagejan avatar joachimgoedhart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

plotsofdata's Issues

Order of user-defined colors

Colors apply to conditions in the alphabetical order of the conditions. Hence, the addition of user defined color when the conditions are ordered in a different manner (e.g. according to median value) is not intuitive.

Current work-around: select as the ordering: ‘By alphabet/number“ and insert the list of colors. After that the ordering can be changed.

Can't plot data

Hi,
I am trying to do a violin plot for my data, but it keeps saying 'Error: An error has occurred'.
I have used the same dataset to plot violin plot lots in the last few days, so I don't think I'm inputting it wrong.
Is this a known error here, or am I making a mistake?
Thanks

Unable to run

I am unable to run the app. I am getting the following error messages:

Listening on http://127.0.0.1:4085
Warning: Error in renderDataTable: unused arguments (rownames = FALSE, editable = FALSE, selection = "none")
50: server [#422]
Error in renderDataTable(df_filtered(), rownames = FALSE, options = list(pageLength = 100, :
unused arguments (rownames = FALSE, editable = FALSE, selection = "none")
Warning: Error in df_summary_mean: could not find function "df_summary_mean"
[No stack trace available]
Warning: Error in df_summary_mean: could not find function "df_summary_mean"
[No stack trace available]
Warning: Error in renderDataTable: unused arguments (rownames = FALSE, editable = FALSE, selection = "none")
50: server [#422]
Error in renderDataTable(df_filtered(), rownames = FALSE, options = list(pageLength = 100, :
unused arguments (rownames = FALSE, editable = FALSE, selection = "none")
Warning: Error in df_summary_mean: could not find function "df_summary_mean"
[No stack trace available]
Warning: Error in df_summary_mean: could not find function "df_summary_mean"
[No stack trace available]

I tried running the app from github using shiny::runGitHub, as well as locally
R version 3.5.1, RStudio version 1.0.143

Missing privacy policy

Hello,

What happens to the data I might upload on the website? I couldn't find any privacy policy about it.

How long is it stored, who has access to it, can I request deletion, things like that.

Facetting

Allow for facetting (small multiples) with appropriate summary statistics for cases when tidy data is used

Cannot change scale

@JoachimGoedhart
Hi I love your Plotsof data tool and am using it regularly. I, however, am having a problem changing the scale on plotted data. When i type in the two limits (x,y) I get an error message in the space where the plot used to be. I am using Chrome. Thanks for your help in advance. Krish

Swapped statistics

When a tidy data sheet is uploaded and the data in the column that is selected as 'Condition' is numeric (22, 88) the statistics (95CI) are swapped. This is solved when the data is forced to be text, by replacing it (for instance, replace 22 with n_22).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.