1、点阵图加两方向柱状图
> def.par <- par(no.readonly = TRUE) # save default, for resetting... > > x <- pmin(3, pmax(-3, rnorm(50))) > y <- pmin(3, pmax(-3, rnorm(50))) > xhist <- hist(x, breaks=seq(-3,3,0.5), plot=FALSE) > yhist <- hist(y, breaks=seq(-3,3,0.5), plot=FALSE) > top <- max(c(xhist$counts, yhist$counts)) > xrange <- c(-3,3) > yrange <- c(-3,3) > nf <- layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), c(3,1), c(1,3), TRUE) > #layout.show(nf) > > par(mar=c(3,3,1,1)) > plot(x, y, xlim=xrange, ylim=yrange, xlab="", ylab="") > par(mar=c(0,3,1,1)) > barplot(xhist$counts, axes=FALSE, ylim=c(0, top), space=0) > par(mar=c(3,0,1,1)) > barplot(yhist$counts, axes=FALSE, xlim=c(0, top), space=0, horiz=TRUE) > > par(def.par) |
2、带误差的点线图
> # Clustered Error Bar for Groups of Cases.
> # Example: Experimental Condition (Stereotype Threat Yes/No) x Gender (Male / Female)
> # The following values would be calculated from data and are set fixed now for
> # code reproduction
>
> means.females <- c(0.08306698, -0.83376319)
> stderr.females <- c(0.13655378, 0.06973371)
>
> names(means.females) <- c("No","Yes")
> names(stderr.females) <- c("No","Yes")
>
> means.males <- c(0.4942997, 0.2845608)
> stderr.males <- c(0.07493673, 0.18479661)
>
> names(means.males) <- c("No","Yes")
> names(stderr.males) <- c("No","Yes")
>
> # Error Bar Plot
>
> library (gplots)
>
> # Draw the error bar for female experiment participants:
> plotCI(x = means.females, uiw = stderr.females, lty = 2, xaxt ="n", xlim = c(0.5,2.5), ylim = c(-1,1), gap = 0, ylab="Microworld Performance (Z Score)", xlab="Stereotype Threat", main = "Microworld performance over experimental conditions")
>
> # Add the males to the existing plot
> plotCI(x = means.males, uiw = stderr.males, lty = 1, xaxt ="n", xlim = c(0.5,2.5), ylim = c(-1,1), gap = 0, add = TRUE)
>
> # Draw the x-axis (omitted above)
> axis(side = 1, at = 1:2, labels = names(stderr.males), cex = 0.7)
>
> # Add legend for male and female participants
> legend(2,1,legend=c("Male","Female"),lty=1:2) |
误差绘图plotCI加强版是plotmeans,具体可使用?plotmeans来试用它。这里就不多讲了。
3、带误差的柱状图。
还是使用gplots包
> library(gplots)
> # Example with confidence intervals and grid
> hh <- t(VADeaths)[, 5:1]
> mybarcol <- "gray20"
> ci.l <- hh * 0.85
> ci.u <- hh * 1.15
> mp <- barplot2(hh, beside = TRUE,
+ col = c("lightblue", "mistyrose",
+ "lightcyan", "lavender"),
+ legend = colnames(VADeaths), ylim = c(0, 100),
+ main = "Death Rates in Virginia", font.main = 4,
+ sub = "Faked 95 percent error bars", col.sub = mybarcol,
+ cex.names = 1.5, plot.ci = TRUE, ci.l = ci.l, ci.u = ci.u,
+ plot.grid = TRUE)
> mtext(side = 1, at = colMeans(mp), line = 2,
+ text = paste("Mean", formatC(colMeans(hh))), col = "red")
> box() |
4、漂亮的箱线图
> require(gplots) #for smartlegend
>
> data(ToothGrowth)
> boxplot(len ~ dose, data = ToothGrowth,
+ boxwex = 0.25, at = 1:3 - 0.2,
+ subset= supp == "VC", col="yellow",
+ main="Guinea Pigs' Tooth Growth",
+ xlab="Vitamin C dose mg",
+ ylab="tooth length", ylim=c(0,35))
> boxplot(len ~ dose, data = ToothGrowth, add = TRUE,
+ boxwex = 0.25, at = 1:3 + 0.2,
+ subset= supp == "OJ", col="orange")
>
> smartlegend(x="left",y="top", inset = 0,
+ c("Ascorbic acid", "Orange juice"),
+ fill = c("yellow", "orange")) |
5、基因芯片热图,
具体参考http://www2.warwick.ac.uk/fac/sci/moac/students/peter_cock/r/heatmap/
> library("ALL")
> data("ALL")
> eset <- ALL[, ALL$mol.biol %in% c("BCR/ABL", "ALL1/AF4")]
> library("limma")
> f <- factor(as.character(eset$mol.biol))
> design <- model.matrix(~f)
> fit <- eBayes(lmFit(eset,design))
> selected <- p.adjust(fit$p.value[, 2]) <0.005
> esetSel <- eset [selected, ]
> color.map <- function(mol.biol) { if (mol.biol=="ALL1/AF4") "#FF0000" else "#0000FF" }
> patientcolors <- unlist(lapply(esetSel$mol.bio, color.map))
> library("gplots")
> heatmap.2(exprs(esetSel), col=redgreen(75), scale="row", ColSideColors=patientcolors,
+ key=TRUE, symkey=FALSE, density.info="none", trace="none", cexRow=0.5) |





