ggplot2

Click to get scatterplot coordinates

Say I make a scatterplot with thousands of points: ggplot(head(data, n=2000), aes(length, coverage))+ geom_point(alpha = 0.5, color = 'navyblue') + coord_trans(x='log', y='log') I want to add the labels of "the 20 or so most extreme points" (in the upper right and bottom right corners). They are easy to identify visually. But ...

R: What are the pros and cons of using Lattice versus ggplot2?

R: What are the pros and cons of using Lattice versus ggplot2? ...

Adding trend lines/boxplots (by group) in ggplot2

Hi all, I have 40 subjects, of two groups, over 15 weeks, with some measured variable (Y). I wish to have a plot where: x = time, y = T, lines are by subjects and colours by groups. I found it can be done like this: TIME <- paste("week",5:20) ID <- 1:40 GROUP <- sample(c("a","b"),length(ID), replace = T) group.id <- data.frame(GROUP,...

Return call from ggplot object

I've been using ggplot2 for a while now, and I can't find a way to get formula from ggplot object. Though I can get basic info with summary(<ggplot_object>), in order to get complete formula, usually I was combing up and down through .Rhistory file. And this becomes frustrating when you experiment with new graphs, especially when code ge...

from ggplot2 to OOo workflow?

This is not really a programming question, but I try here none the less. I once used latex for my reports. But the people I work with needs to make small edits and do not have latex skillz. Openoffice is then the way to go. But saving ggplot images with dpi >100 makes for really ugly graphs. dpi = 600 is a no go (e.g. huge legend). So w...

program R- in ggplot restrict y to be >0 in LOESS plot

Here's my code: qplot(data=sites, x, y, main="Site 349") (p <- qplot(data = sites, x, y, xlab = "", ylab = "")) (p1 <- p + geom_smooth(method = "loess",span=0.5, size = 1.5)) p1 + theme_bw() + opts(title = "Site 349") Some of the LOESS lines and confidence intervals go below zero, but I would like to restrict the graphics to 0 and po...

Margin adjustments when using ggplot's geom_tile()

From the documentation for ggplot2's geom_tile() function, we have the following simple plot: > # Generate data > pp <- function (n,r=4) { + x <- seq(-r*pi, r*pi, len=n) + df <- expand.grid(x=x, y=x) + df$r <- sqrt(df$x^2 + df$y^2) + df$z <- cos(df$r^2)*exp(-df$r/6) + df + } > p <- ggplot(pp(20), aes(x=x,y=y)) > > p + g...

What's the best way to annotate this ggplot2 plot? [R]

Here's a plot: library(ggplot2) ggplot(mtcars, aes(x = factor(cyl), y = hp, group = factor(am), color = factor(am))) + stat_smooth(fun.data = "mean_cl_boot", geom = "pointrange") + stat_smooth(fun.data = "mean_cl_boot", geom = "line") + geom_hline(yintercept = 130, color = "red") + annotate("text", label = "130 hp", x = ...

how to change strip.text labels in ggplot with facet and margin=TRUE

I have looked here but still can't figure it out. How do I change the strip.text.x labels in a ggplot with faceting? Specifically I am using facet_grid with margins. The strip.text label for the margin is "(all)" - but since I am in a non-english speaking country I would rather write "Total" or something similar in my native tongue. opt...

How to add texture to fill colors in ggplot2?

I'm currently using scale_brewer for fill and these look beautiful in color (on screen and via color printer) but print relatively uniformly as greys when using a black and white printer. I searched the online ggplot2 documentation but didn't see anything about adding textures to fill colors. Is there an official ggplot2 way to do this o...

How to override ggplot2's axis formatting?

When you choose a log scale, ggplot2 formats the breaks like 10^x. I'd like it to not do that. For example, the code below should display a graph with ticks at 1, 2, 5 etc, not 10^0, 10^0.3, 10^0.69 etc. library(ggplot2) dfr <- data.frame(x = 1:100, y = rlnorm(100)) breaks <- as.vector(c(1, 2, 5) %o% 10^(-1:1)) p1 <- ggplot(dfr, aes(x...

How do I plot more than one series using qplot?

I'm trying to understand how to have more than one series on a plot, using the following data. Year <- c('1950', '1960', '1970', '1980') Bus <- c(10,20,30,40) Bus.sd <- c(1.1, 2.2, 3.3, 4.4) Car <- c(20, 20, 40, 40) Car.sd <- c(1.1, 2.2, 3.3, 4.4) sample_data = data.frame(Year, Bus, Bus.sd, Car, Car.sd) qplot(Year, Bus, data=sample_da...

Utilise Surv object in ggplot or lattice

Anyone know how to take advantage of ggplot or lattice in doing survival analysis? It would be nice to do trellis/facet like survival graphs. So in the end I played around and sort of found a solution for a kaplan meier plot. Apologize for the messy code in taking the list elements into a dataframe, but I couldnt figure out another wa...

How to move or position a legend in ggplot2

I'm trying to create a ggplot2 plot with the legend beneath the plot. The ggplot2 book says on p 112 "The position and justification of legends are controlled by the theme setting legend.position, and the value can be right, left, top, bottom, none (no legend), or a numeric position". The following code works (since "right" it is the ...

Smooth Error in qplot from ggplot2

I have some data that I am trying to plot faceted by its Type with a smooth (Loess, LM, whatever) superimposed. Generation code is below: testFrame <- data.frame(Time=sample(20:60,50,replace=T),Dollars=round(runif(50,0,6)),Type=sample(c("First","Second","Third","Fourth"),50,replace=T,prob=c(.33,.01,.33,.33))) I have no problem either...

Irrelevant legend information in ggplot2

When running this code (go ahead, try it): library(ggplot2) (myDat <- data.frame(cbind(VarX=10:1, VarY=runif(10)), Descrip=sample(LETTERS[1:3], 10, replace=TRUE))) ggplot(myDat,aes(VarX,VarY,shape=Descrip,size=3)) + geom_point() ... the "size=3" statement does correctly set the point size. However it causes the legend to give bi...

R + ggplot : how to use a custom smoother (Gaussian Process)

I'm using R. I have 25 variables over 15 time points, with 3 or more replicates per variable per time point. I've melted this into a data.frame, which I can plot happily using (amongst other things) ggplot's facet_wrap() command. My melted data frame is called lis; here's its head and tail, so you get an idea of the data: > head(lis) ...

ggplot2 heatmap : how to preserve the label order ?

I'm trying to plot heatmap in ggplot2 using csv data following casbon's solution in http://biostar.stackexchange.com/questions/921/how-to-draw-a-csv-data-file-as-a-heatmap-using-numpy-and-matplotlib the problem is x-label try to re-sort itself. For example, if I swap label COG0002 and COG0001 in that example data, the x-label still c...

jitter if multiple outliers in ggplot2 boxplot

I am trying to find a suitable display to illustrate various properties within and across school classes. For each class there is only 15-30 data points (pupils). Right now i am leaning towards a whisker-less boxplot, showing only 1.,2. and 3. quartile + datapoints more then e.g. 1 population SD +/- the sample median. This I can do. H...

R ggplot2: possible to customize the continuity of a time scale?

Is it possible to have a datetime scale not consider weekends as part of the time continuum? For instance, if I am plotting stock prices over a 2 week period with a line geometry, I do not want to plot a 2 day period of flattness during the weekend. I would like friday to connect with Monday. ...