[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