0

Possible Duplicate:
how to plot a bar chart with non-sorted x-axis (lattice)

I want to plot a barchart. But I don't know how to plot it with unsorted x-axis in lattice. By default, the lattice will sort my x data which I am not expected.

my code are showed as follows:

code:

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"))

next

library(lattice)
barchart(go[,1]~go[,2],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)))

What else should I do?

Community
  • 1
  • 1
Sandy
  • 99
  • 1
  • 9

1 Answers1

0

One way is to reorder the levels of the factor b$class in the way they appear in the data:

newClass <- factor(go$class, levels = unique(go$class))

Plot:

library(lattice)
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)))
Sven Hohenstein
  • 80,497
  • 17
  • 145
  • 168
  • Thanks a lot. Could you please tell me how to add a horizontal line in the plot? And how to add a y-axis in right with customed y-labels? – Sandy Oct 27 '12 at 07:31
  • There is an `lline` function for lattice. There are many options in lattic scales arguments. There are really separate questions from the one you posed. – IRTFM Oct 27 '12 at 15:36