0

How to add tow horizontal lines in the bar chart?

and how to box my x-labels like this?

http://wego.genomics.org.cn/pubs/rice_indica.pdf

Fig.9

In addition, how to add a y-axis in the right with custom labels?

go=data.frame(number_of_Unigene=c(45,5328,30,30,119,3248,16594,244,4354,3547,917,429,3716,30,15726,4182,1673,877,30,30,640,4808,2462,2437,7812,190,2001,30,44,19852,1763,19852,31,30,686,30,3698,9829,3432,1439,15252,6024,1753,216,15917,15103,30,433,319,30,522,708,30,102,30,613,1039,30,2478),class=c("biological adhesion","biological regulation","carbon utilization","cell killing","cell proliferation","cellular component organization or biogenesis","cellular process","death","developmental process","establishment of localization","growth","immune system process","localization","locomotion","metabolic process","multicellular organismal process","multi-organism process","negative regulation of biological process","nitrogen utilization","pigmentation","positive regulation of biological process","regulation of biological process","reproduction","reproductive process","response to stimulus","rhythmic process","signaling","sulfur utilization","viral reproduction","cell","cell junction","cell part","extracellular matrix","extracellular matrix part","extracellular region","extracellular region part","macromolecular complex","membrane","membrane part","membrane-enclosed lumen","organelle","organelle part","symplast","antioxidant activity","binding","catalytic activity","channel regulator activity","electron carrier activity","enzyme regulator activity","metallochaperone activity","molecular transducer activity","nucleic acid binding transcription factor activity","nutrient reservoir activity","protein binding transcription factor activity","protein tag","receptor activity","structural molecule activity","translation regulator activity","transporter activity"),Ontology=c("biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","biological_process","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","cellular_component","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function","molecular_function"))


library(lattice)
newclass<-factor(go[,2],levels=unique(go[,2]))
barchart(go[,1]~newclass,horiz=F,ylim=c(30,29666),layout=c(1,1),stack=F,
auto.key=list(space='right'),ylab="Number of unigenes",
scales=list(x=list(rot=45),y=list(log=T)))
h.l.m
  • 13,015
  • 22
  • 82
  • 169
Sandy
  • 99
  • 1
  • 9

2 Answers2

1

This may help with the secondary y axis issue.

library(lattice)
library(grid)  # needed for grid.text

# data

Lines.raw <- "Date  Fo  Co
day1  57.1  13.9
day2  57.7  14.3
day3  57.8  14.3
"

DF <- read.table(textConnection(Lines.raw), header = TRUE)


par.settings <- list(
    layout.widths = list(left.padding = 10, right.padding = 20),
    layout.heights = list(bottom.padding = 10, top.padding = 10)
)

barchart(Co ~ Date, DF, default.scales = list(y = list(relation = "free")),
    ylab = "C", par.settings = par.settings)

trellis.focus("panel", 1, 1, clip.off = TRUE)
  pr <- pretty(DF$Fo)
  at <- 5/9 * (pr - 32)
  panel.axis("right", at = at, lab = pr, outside = TRUE)
  grid.text("F", x = 1.1, rot = 90) # right y axis label
trellis.unfocus()

Ref: http://markmail.org/message/zap4t22er3aoqhcz

manio
  • 26
  • 1
0

try this:

 require(ggplot2)
 ggplot(go, aes(x=class, y=number_of_Unigene))+facet_grid(~Ontology)+geom_bar()+ theme(axis.text=element_text(angle=45, hjust=1))+ scale_y_continuous("No of Unigenes")

and for additional adjustments have a look at this website...

http://docs.ggplot2.org/current/

or this

http://wiki.stdout.org/rcookbook/Graphs/

h.l.m
  • 13,015
  • 22
  • 82
  • 169
  • Sorry, I just need lattice to plot a bar chart with a secondary y-axis. Would please tell me what to do ? – Sandy Oct 27 '12 at 15:43