Skip to content

Type of Graph to use

9 messages · Jurgens de Bruin, jim holtman, Gabor Grothendieck +1 more

#
See if this gives you the presentation you want:

x <- read.table(textConnection("Name    Class
a             Class1
a             Class4
b             Class2
b             Class1
d             Class3
d             Class5
e             Class4
e             Class2"), header = TRUE)
closeAllConnections()
# add columns of numeric values of factors
x$name <- as.integer(x$Name)
x$class <- as.integer(x$Class)
# create plot area
plot(0
    , type = 'n'
    , xaxt = 'n'
    , yaxt = 'n'
    , xlab = ''
    , ylab = ''
    , xlim = c(0, max(x$class))
    , ylim = c(0, max(x$name))
    )
# now plot the rectangles
rect(
      xleft = x$class - 1
    , ybottom = x$name - 1
    , xright = x$class
    , ytop = x$name
    , col = x$name
    )
# add the labels
axis(1
    , at = seq(0.5, by = 1, length = length(levels(x$Class)))
    , labels = levels(x$Class)
    )
axis(2
    , at = seq(0.5, by = 1, length = length(levels(x$Name)))
    , labels = levels(x$Name)
    )
On Mon, Oct 10, 2011 at 6:49 AM, Jurgens de Bruin <debruinjj at gmail.com> wrote:

  
    
#
try this version:

x <- read.table(textConnection("Name    Class
a             Class1
a             Class4
b             Class2
b             Class1
d             Class3
d             Class5
e             Class4
e             Class2"), header = TRUE)
closeAllConnections()
# add columns of numeric values of factors
x$name <- as.integer(x$Name)
x$class <- as.integer(x$Class)
# create plot area
plot(0
    , type = 'n'
    , xaxt = 'n'
    , yaxt = 'n'
    , xlab = ''
    , ylab = ''
    , xlim = c(0, max(x$class))
    , ylim = c(0, max(x$name))
    )
# now plot the rectangles
# rect(
      # xleft = x$class - 1
    # , ybottom = x$name - 1
    # , xright = x$class
    # , ytop = x$name
    # , col = x$name
    # )
# plot "*" instead
points(x$class - .5, x$name - .5, pch = "*", cex = 3)
# add the labels
axis(1
    , at = seq(0.5, by = 1, length = length(levels(x$Class)))
    , labels = levels(x$Class)
    )
axis(2
    , at = seq(0.5, by = 1, length = length(levels(x$Name)))
    , labels = levels(x$Name)
    )
On Mon, Oct 10, 2011 at 8:27 AM, Jurgens de Bruin <debruinjj at gmail.com> wrote:

  
    
#
On Mon, Oct 10, 2011 at 6:49 AM, Jurgens de Bruin <debruinjj at gmail.com> wrote:
Assuming DF is the indicated data.frame:

library(gplots)
with(DF, balloonplot(Name, Class, rep(1, nrow(DF)), label = FALSE))
#
On Mon, Oct 10, 2011 at 8:49 AM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
Here is one additional idea:
Name
Class    a b d e
  Class1 + + . .
  Class2 . + . +
  Class3 . . + .
  Class4 + . . +
  Class5 . . + .
#
On 10/10/2011 09:49 PM, Jurgens de Bruin wrote:
Hi Jurgens,
Have a look at the intersectDiagram function in the plotrix package. 
This only plots the number of cases in each intersection, but it would 
be possible to plot dots or asterisks or even the lower case letters as 
long as there are not too many cases.

Jim