There are a wide range of tools available to refine your data and to create, edit, alter, and display your visualizations. These include: R, Python, HTML,, JavaScript, Qlikview, Google’s Visualization API, Tableau, Domo, Adobe Illustrator, Excel, PowerPoint, KeyNote, and many more. In my courses, I teach three tools: Tableau, R, and Python. In addition, I expect  my students to be fluent in  basic productivity programs such as Excel and Google’s Visualization API. While there is not a one size fits all solution to visualization, the three toolkits I teach provide a solid foundation to visualize geospatial, categorical, time series, statistical, and network data as static, animated or interactive displays for the desktop, web, or for a presentation.

Why do we need to learn more than one visualization tool to create beautiful data displays?

R is great for data analysis and static data visualization, but the default charts and graphs produced from R’s ggplot2 package needs refinement. For example, the basic output includes a lot of chartjunk, and lacks clear labeling. R’s new ggvis package produces graphs that inherently apply many more of the accepted data visualization design principles and leverage some interactive components of shiny.  It’s easy to use Adobe Illustrator or a vector graphics editor to refine your charts. Python is great for data cleaning and data manipulation. Python’s matplotlib package for charts is a very powerful tool for plotting. The charts generated in Python also need refinement from a vector graphics editor. Read more about modifying charts using Adobe Illustrator. Users have a lot more control of the graphical elements of each chart in Python, but this requires more lines of code.

Tableau, Google, and the array of Javascript libraries (D3, rCharts, HighCharts, etc.), and work well for dynamic visualizations, web-based displays, and live dashboards, but each has their advantages and disadvantages. A major drawback is that some web-based data visualization applications require you to make your data public in order to use their service for free.

Every toolset has its strengths for visualizations. For instance, Python is great for creating choropleths, while  certain JavaScript libraries are better for creating cartograms such as HighCharts or D3. The ultimate destination of your visualization will dictate your tool choice. If your audience is interpreting your graphs online, you may want to make them interactive to allow for exploration of the data through a visualization. Knowledge of HTML, JavaScript, and JSON data are required for many interactive graphs. If your display is intended for a static PowerPoint presentation, you may want to use a refined chart from Tableau or Excel. If your display is for exploratory internal data analysis, you may want to select Tableau or R.

In summary, software is not magic. The most important thing is that your charts reveal meaningful insights and have a clear takeaway. Read more about the top five data visualization errors caused by software.

Dr. Kristen Sosulski develops innovative practices for higher education as the Director of Education for the NYU Stern W.R. Berkley Innovation Lab. She also teaches MBA students and executives data visualization, R programming, and operations management as an Associate Professor at NYU’s Stern School of Business.

Kristen’s passion for technology and learning sciences converges in all facets of her career, inside and outside of the classroom. Follower her on Twitter at @sosulski and learn more at  Stay connected and join her #datavis newsletter.

Data Visualization: A select toolkit