Skip to content

high density plots using lattice dotplot()

1 message · Duncan Mackay

#
Hi Luigi

The layout.heights is in the wrong place try

         par.settings = list(
           strip.background=list(col="white"),
           axis.text = list(cex = 0.6),
           par.xlab.text = list(cex = 0.75),
           par.ylab.text = list(cex = 0.75),
           superpose.symbol = list(pch = ".", cex = 2),
           layout.widths(main = 0.9,sub = 0), # see below 
           layout.heights = list(strip = 0.8)
         ),
Space is important so every 0.05 you can get away with is vital.
see 
names(trellis.par.get())
trellis.par.get()$layout.widths 
for more that may be changed and the same for layout.heights, it is amazing what small changes will create extra panel space

I modified a script that I did a few years ago so there may have been some changes 
For the panel function if the following
 
        panel = function(x,y, subscripts, groups,...){
           panel.superpose(x,y,subscripts,groups,...,
                           col = ...)
           panel.text(x,y,...,cex = 0.6)
         }

does not work you will have to use panel.groups

eg untested (it?s a while since I have used this)

panel = panel.superpose,
panel.groups = function(x,y,...){
panel.xyplot(x,y,yourtext, cex = 0.6) # I meant with the... to put in a suitable object/code

})

Duncan



-----Original Message-----
From: Luigi Marongiu [mailto:marongiu.luigi at gmail.com] 
Sent: Wednesday, 22 April 2015 08:24
To: Duncan Mackay
Subject: Re: [R] high density plots using lattice dotplot()

Dear Duncan,
thank you for your reply. I tried to implement your suggestions but as
is on your reply did not work (actually R crashed) and a slight
elaboration returned the figure attached, which is essentially still
displaying text and not drawing the data. Here is what I wrote:
xyplot(Delta.Rn ~ Cycle | Well,
         data = PLATE,
         ylab="Fluorescence (Delta Rn)",
         xlab="Cycles",
         main=TITLE,
         scales = list(
           x = list(draw = FALSE),
           y = list(draw = FALSE),
           relation="same",
           alternating=TRUE),
         as.table = TRUE,
         layout = c(24,16),
         par.settings = list(
           strip.background=list(col="white"),
           axis.text = list(cex = 0.6),
           par.xlab.text = list(cex = 0.75),
           par.ylab.text = list(cex = 0.75),
           superpose.symbol = list(pch = ".", cex = 2)
         ),
         strip    = FALSE,
         type = "p",
         layout.heights = list(strip = 0.8),
         panel = function(x,y, subscripts, groups,...){
           panel.superpose(x,y,subscripts,groups,...,
                           col = ...)
           panel.text(x,y,...,cex = 0.6)
         }
  )


How can I improve the script?
Many thanks
Luigi
On Tue, Apr 21, 2015 at 12:35 AM, Duncan Mackay <dulcalma at bigpond.com> wrote: