[R] lattice plot formatting: pch, abbreviation and labels

Luigi Marongiu marongiu.luigi at gmail.com
Sat Apr 26 18:06:32 CEST 2014


Dear all,
I am trying to use the lattice plot, but the syntax is quite
difficult. Specifically I have eight variables (1 to 8) each of them
further subdivided in two classes (negative=0 and positive=1). I am
using the stripplot() to represent these values. I would like to
represent the negative and positive values with black and white dots
so I have tried to use the argument pch=c(16, 1) both in the main
stripplot function and embedded in the scale argument. However the
resulting plot shows that some points are drawn with the pch=16 and
other with pch=1 irrespective of their class.
Is there a way to draw the values for the variable positivity = 0 with
pch=16 and those with positivity = 1 with pch=0?

In addition I would like to change the labels under the axis from 0,1
to N,P. However when I placed labels=c("N", "P") or labels=list("N",
"P") in the main stripplot() I did not obtained any difference and
when placed within the scale argument also the -labels were modified.
Is there a way to change the label 0 with N and the label 1 with P?

final problem: I would like to abbreviate the "Unstimulated" box label
with "Unst.". I have tried the abbreviate=TRUE argument but again the
syntax is too complex for me and it did not work.
Is there a way to abbreviate the variables names?

Thank you very much for your help.
Best wishes,
Luigi


CODE:::::::::


### open plot library
library(lattice)

my.data<-structure(list(
   column_1 = 1:120,
   column_2 = structure(c(
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8,
 1,2,3,4,5,6,7,8), .Label = c("Unstimulated", "ESAT6", "CFP10",
"Rv3615c", "Rv2654", "Rv3879", "Rv3873", "PHA"), class = "factor"),
    column_3 = structure(c(
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
0,0,0,0,0,0,0,0)),
     column_4 = c(
 192.0519108,183.6403531,53.46798757,83.60638077,69.60749873,159.4706861,256.8765622,499.2899303,
 2170.799076,1411.349719,2759.472348,2098.973397,2164.739515,1288.676574,1611.486543,6205.229575,
 870.7424981,465.9967135,191.8962375,864.0937485,2962.693675,1289.259137,2418.651212,7345.712517,
 0,168.1198893,674.4342961,101.1575401,47.81596237,0,0,1420.793922,
 142.6871331,5.466468742,291.9564635,80.73914133,73.02239621,64.47806871,144.3543635,3167.959757,
 3164.748333,1092.634557,28733.20269,1207.87783,729.6090973,151.8706088,241.2466141,9600.963594,
 1411.718287,12569.96285,1143.254476,6317.378481,16542.27718,79.68025792,1958.495138,7224.503437,
 208.4382941,69.48609769,656.691151,0.499017582,7114.910926,187.6296174,41.73980805,8930.784541,
 4.276752185,0.432300363,60.89228665,1.103924786,0.490686366,1.812993239,7.264531581,1518.610307,
 2172.051528,595.8513744,17141.84336,589.6565971,1340.287628,117.350942,593.7034054,24043.61463,
 0,81.83292179,1539.864321,36.41722958,8.385131047,161.7647376,65.21615696,7265.573875,
 97.84753179,154.051827,0.613835842,10.06138851,45.04879285,176.8284258,18795.75462,30676.769,
 5780.34957,944.2200834,2398.235596,1083.393165,2541.714557,1251.670895,1547.178549,1792.679176,
 3067.988416,8117.210173,23676.02226,8251.937547,17360.80494,18563.61561,16941.865,31453.96708,
 2767.493803,4796.33016,12292.93705,3864.657567,9380.673835,14886.44683,8457.88646,26050.47191)),
.Names = c("row", "stimulation", "positivity", "copy"), row.names =
c(NA, -120L),
 class = "data.frame")
attach(my.data)

stripplot(my.data$copy ~ factor(my.data$positivity)|factor(my.data$stimulation,
            levels = c("Unstimulated", "ESAT6","CFP10","Rv3615c",
"Rv2654", "Rv3879", "Rv3873","PHA")),
            my.data, hor=F, layout = c(8,1), scales = list(relation = "same"),
      jitter.data=TRUE, alpha=1, pch=c(16,1), col="black",
      ylab=expression(bold("Copy")),
xlab=expression(bold("Stimulation")), main="Plot",
      par.settings = list(strip.background=list(col="white")),
            par.strip.text=list(font=2))




More information about the R-help mailing list