background preloader


Facebook Twitter

Ggplot and ggvis Easy pictograms using R. Making infographics using R and Inkscape - Vik's Blog. I have been making charts with R for almost as long as I have been using R, and with good reason: R is an amazing tool for filtering and visualizing data.

Making infographics using R and Inkscape - Vik's Blog

With R, and particularly if we use the excellent ggplot2 library, we can go from raw data to compelling visualization in minutes. But what if we want to give our visualizations an extra kick? What if we want to do some manual retouching? I had long resisted this, thinking that conveying the data was the major concern, and it was up to viewer to parse it how they saw fit. As visualizations become more and more important, it is evident to me that merely conveying the data is not enough; these days, a visualization must also be visually attractive. Using JavaScript vis libraries with R. This is a short tutorial on knitr/markdown and JS visualization packages googleVis and rCharts.

Using JavaScript vis libraries with R

Quickly Visualize Your Whole Dataset. Using R to Produce SVG for the Web. Complex Graphics (lattice) Please direct questions and comments about these pages, and the R-project in general, to Dr.

Complex Graphics (lattice)

Tom Philippi. Introduction Clear communication of pattern via graphing data is no accident; a number of people spend their careers developing approaches based on human perceptions and cognitive science. While Edward Tufte and his "The Visual Display of Quantitative Information" is more widely known, William Cleveland's "The Elements of Graphing Data" is perhaps more influential: reduced clutter, lowess or other smoothed curves through data, banking to 45° to emphasize variation in slopes, emphasizing variability as well as trends, paired plots to illustrate multiple components of the data such as fits and resuduals, and dot plots all come from his work. It should come as no surprise that tools to implement principles from the field of graphical communication have been developed in R. I do not recommend one package over the other. Exporting nice plots in R. A vital part of statistics is producing nice plots, an area where R is outstanding.

Exporting nice plots in R

The graphical ablility of R is often listed as a major reason for choosing the language. It is therefore funny that exporting these plots is such an issue in Windows. This post is all about how to export anti-aliased, high resolution plots from R in Windows. There are two main problems when exporting graphics from R: Anti-aliasing is not activated in Windows R (this does not apply to Linux or Mac). My previous solution to this problem has been to export my graph to a vector graphic (usually the SVG format), open it in Inkscape, and then export it to the resolution of choice. Plotting an Odd number of plots in single image. Sometimes I have the need to reduce the number of images for a presentation or an article.

Plotting an Odd number of plots in single image

A good way of doing it is putting multiple plot on the same tif or jpg file. R has multiple functions to achieve this objective and a nice tutorial for this topic can be reached at this link: The most common function is par. This function let the user create a table of plots by defining the number of rows and columns. Moving Past Default Charts. For static data graphics my workflow typically involves R and Illustrator at varying degrees.

Moving Past Default Charts

I covered the process in Visualize This and provided an introduction on how to do the same with Inkscape, Illustrator's open source counterpart. However, you don't always have to use illustration software to produce more readable graphics. You can stay in R, tweak a few variables, and it might be all you need. If not, you can at least get closer to what you want, which makes for less post-editing. In this tutorial you learn what parameters to change to mimic a handful of popular chart styles. GridGraphics package.

Controlling Axes of R Plots. (This post is part of the #cumpa series of blog posts and tweets I am writing leading up to SPSA. For more information, see this blog post. To follow along, subscribe to my blog here or follow me on Twitter here. To engage in the conversation, reply to this tweet.) R has powerful graphical capabilities and I use it in all my papers to plot data and illustrate theoretical ideas. The default plot function, however, doesn't give the reader needed control over the axis labels. The default plot function in R works something like this. n = 100 x = rnorm(n) y = rnorm(n, x) png("fig1.png", width = 400, height = 300) plot(x, y, xlab = "Explanatory Variable", ylab = "Outcome Variable") abline(lm(y~x), col = "red", lwd = 2) This code produces the following figure.

Notice three things about the figure above. Custom point style in plot. Math Annotation in R. Fonts in R Graphics. R List of Colours. Animating the Metropolis algorithm. The Metropolis algorithm, and its generalization (Metropolis-Hastings algorithm) provide elegant methods for obtaining sequences of random samples from complex probability distributions.

Animating the Metropolis algorithm

When I first read about modern MCMC methods, I had trouble visualizing the convergence of Markov chains in higher dimensional cases. So, I thought I might put together a visualization in a two-dimensional case. I’ll use a simple example: estimating a population mean and standard deviation. We’ll define some population level parameters, collect some data, then use the Metropolis algorithm to simulate the joint posterior of the mean and standard deviation.

Then, to visualize the evolution of the Markov chains, we can make plots of the chains in 2-parameter space, along with the posterior density at different iterations, joining these plots together using ImageMagick (in the terminal) to create an animated .gif: Visualizing optimization process. One of the approaches to graph drawing is application of so called force-directed algorithms.

Visualizing optimization process

In its simplest form the idea is to layout the nodes on plane so that all edges in the graph have approximately equal length. This problem has very intuitive visualization so it is a nice case for showing how different optimization algorithms behave in high dimensions.I want to position several balls (8 in the example below) on a plane in such a way that distance between all balls is approximately 0.5.

GrapheR: A GUI for base graphics in R. How did I miss the GrapheR package?

GrapheR: A GUI for base graphics in R

The author, Maxime Hervé, published an article about the package [1] in the same issue of the R Journal as we did on googleVis. Google Chart Tools with R. Working with Geospatial Data (and ggplot2) DiagrammeR. SparkTable. Comparing ggplot2 and R Base Graphics. In R, the open source statistical computing language, there are a lot of ways to do the same thing.

Comparing ggplot2 and R Base Graphics

Especially with visualization. R comes with built-in functionality for charts and graphs, typically referred to as base graphics. Then there are R packages that extend functionality. Although there are many packages, ggplot2 by Hadley Wickham is by far the most popular. These days, people tend to either go by way of base graphics or with ggplot2. It’s not that I think one is better than the other. However, last month, Jeff Leek explained why he purposely avoids ggplot2.

It seemed like a good time to revisit ggplot2 to make my own comparison. The problem is that I don’t use the package, making any comparison useless. Here are the graphics and code that I got and what I learned. The Bar Chart Start with the basics, a two-column bar chart that shows two data points. Ggplot2. Directlabels documentation - home. Plotly Shiny Gallery.

d3panels. This is a set of D3-based graphic panels, developed for the R/qtlcharts package but useful more generally. They are developed in CoffeeScript; the source is on GitHub. Update: The d3panels library has been completely re-written, changing the functions’ usage and data structures, to make it simpler and more consistent. Documentation on GitHub. Click on a panel for a corresponding interactive illustration. Usage All of the functions are called as d3panels.blah(). And then you call the function that’s created with some selection and the data: mychart("div#chart"), mydata) (The one exception is add_lodcurve; for that function, you need to have first called lodchart or chrpanelframe, and then you use the chart function created by that call in place of a selection. The R graph Gallery.