[R] Order axis by number of entries in lattice plot

Richard M. Heiberger rmh @end|ng |rom temp|e@edu
Mon Nov 4 18:56:57 CET 2019


## The likert function would work well for this example.
## Continuing from your example

## install.packages("HH") ## if necessary
library(HH)

likert(Family ~ Normal+Tumour+Metastasis, data = df,
       main = "likert, data-order, ReferenceZero=0\nDuplicates your example",
       ReferenceZero=0,
       as.table=FALSE,
       xlab = expression(bold("Number of species")),
       ylab = expression(bold("Families")),
       auto.key = list(space = "top", columns=3),
       col = COLS)

likert(Family ~ Normal+Tumour+Metastasis, data = df,
       main = "likert, positive.order=TRUE, ReferenceZero=0\nThis is
what you asked for",
       positive.order=TRUE,
       ReferenceZero=0,
       xlab = expression(bold("Number of species")),
       ylab = expression(bold("Families")),
       auto.key = list(space = "top", columns=3),
       col = COLS)

likert(Family ~ Normal+Tumour+Metastasis, data = df,
       main = "likert, positive.order=TRUE, ReferenceZero=1.5\nThis
puts Normal on left and not-Normal on right",
       positive.order=TRUE,
       ReferenceZero=1.5,
       xlab = expression(bold("Number of species")),
       ylab = expression(bold("Families")),
       auto.key = list(space = "top", columns=3),
       col = COLS)

## For information on the likert function
?likert

## For more examples
demo("likert-paper", package="HH")

## for the paper, open
http://www.jstatsoft.org/v57/i05/
## and click on
##       Download PDF

On Mon, Nov 4, 2019 at 8:32 AM Luigi Marongiu <marongiu.luigi using gmail.com> wrote:
>
> Dear all,
> I am plotting some values with lattice barchart: the y-axis is
> automatically ordered alphabetically; is it possible to order the
> entries by number, so that the 'larger' histograms would be at the top
> of the plot?
> This is a working example
>
> ```
> library(lattice)
> Family = c("Adenoviridae", "Baculoviridae",  "Herpesviridae",   "Mimiviridae",
> "Myoviridae", "Pandoraviridae",  "Phycodnaviridae", "Podoviridae",
> "Polydnaviridae",  "Retroviridae", "Siphoviridae",    "Unassigned")
> Normal = c(7, 15, 24,  8, 65, 24, 17, 16,  8, 15, 49 , 9)
> Tumour =c(  17,  75,  94,  14, 242,  28,  41,  69,  12,  11, 305,  51)
> Metastasis =c(41,  66,  95,   3, 173,  22,  33, 101,  12,  12, 552,  57)
> df = data.frame(Family, Normal, Tumour, Metastasis, stringsAsFactors = FALSE)
> COLS = c("darkolivegreen3", "brown3", "darkorchid3")
> barchart(Family ~ Normal+Tumour+Metastasis, data = df, stack = TRUE,
>          xlim=c(1,1000),
>          main = "Alphabetical order",
>          xlab = expression(bold("Number of species")),
>          ylab = expression(bold("Families")),
>          auto.key = list(space = "top", columns=3),
>          par.settings = list(superpose.polygon = list(col = COLS)))
> ```
>
>
> --
> Best regards,
> Luigi
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list