What is the best open source data visualization software? I require the following:

  1. Can import data from Microsoft Excel (importing data from Oracle databases would be good too, but this is not mandatory).

  2. Charts generated by the software can be exported to Microsoft PowerPoint (copy and paste is fine with me).

  3. Open source & easy to use.

  • 1
    $\begingroup$ Is there a requirement that it run locally on a system? Is there a platform restriction (Win/Mac)? $\endgroup$
    – hrbrmstr
    Commented Mar 25, 2014 at 15:39
  • 1
    $\begingroup$ matplotlib in Python, ggplot2 in R. Both can export to various formats -- both raster and vector -- but you will need to learn to work with their respective languages. $\endgroup$ Commented Mar 25, 2014 at 16:51
  • 1
    $\begingroup$ What kind of charts are you making? If you are using Excel and powerpoint, why not just use native charts? This way if the data changes, the slides can change relatively easily. Using a third-party solution will mean having to resave data, export, graph, and copy back into a powerpoint. $\endgroup$
    – user40835
    Commented Mar 26, 2014 at 1:31
  • 2
    $\begingroup$ I would recommend switching from powerpoint to use auto generated presentations using Rmd and pandoc. Also selecting your data automatically from a database (as you suggest you already do) would greatly streamline your process. Once the data change or if you would like to followup a few weeks after all you have to do it rerun the script. $\endgroup$
    – while
    Commented Mar 26, 2014 at 13:00

3 Answers 3


Updated 2017-02-24:

I think that the best solutions is to use R with RStudio. ( Python and iPython notebook is an alternative ):

  • Data import
  • Plotting: ggplot2
  • Exporting plots
    • Copy-and-paste: RStudio's exports plot functionality
    • Programatically: ReporteRs package


Data Import

There are numerous ways to import excel (tabular) data. For Excel data, the readxl package provides the easiest and most versatile. It generally gets the variable types correct on import.

Alternatives are to save the file as CSV and re-import. The readr package is good for this. @Nick Stauner provides perhaps the most basic solution using read.csv; the limitation is that this requires the additional step of saving a worksheet as a CSV file. This is not great if your data is spread across multiple sheets. It can get tedious though there are VBA programs for saving all sheets as CSV files. Google for them. Another limitation is getting the types of the variables correct. If you use read.csv, you often have to fix your types after importing in R.

There are a few packages that avoid these problems by allowing you to connect read/write from the spreadsheet directly or by using ODBC. Search on CRAN for excel or odbc to find the relevant one for your situation.


In terms of getting plots into powerpoint, use Rstudio's export plot functions, the copy and paste method using Rstudio is:

export plot > copy plot to clipboard > copy as: metafile captures the plot to the the paste buffer allowing you to paste directly into Power Point.

As far as generating plots, R has numerous options. The aforementioned ggplot2 package provides a very powerful interface for creating all sorts of plots. There are additional packages for doing hundreds or thousands of other types of plots/animations/etc. One limitation is that these are often buried in CRAN packages.

An alternative is to use the ReporteRs package.


I don't know about "best", but the software environment you're named after fits all your requirements:

  • 2
    $\begingroup$ A non-original quip: The learning curve is steep. If you put in a little effort, you learn a lot. (Otherwise put, it's vital to know which variable is on which axis.) $\endgroup$
    – Nick Cox
    Commented Mar 25, 2014 at 11:57

I agree with Nick Stauner on R. And, with a username like "R Learner" I was tempted to not suggest other tools, but there are many. I'll wait to see what the answer to my questions are for more platform-specific ones, but Mondrian is a Java desktop program (so cross-platform) and supports many visualization types that you can easily get into PowerPoint.

  • $\begingroup$ Thanks all for your suggestion. Definitely I will try those packages in R.@hrbrmstr,yes I want to run it locally in my windows system $\endgroup$
    – R Learner
    Commented Mar 27, 2014 at 6:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.