On Jun 11, 2009, at 8:56 AM, Penner, Johannes wrote:

Sorry for probably again an easy question but I can not find the
solution...

Using the ade4 package I am drawing a triangular graph:

triangle.plot(data2, label = row.names(data2), clab=0.6,
show.position=FALSE, box=FALSE)

Which is what I want. Unfortunately the labels have a frame and a white background. I would like to have them without frame and colour, similar
to what you get with type="text".

I tried various things (box, boxes, label.color and settings of par via
fg or bg="transparent") without luck. Any help is highly appreciated.

Thanks a lot in advance

triangle.plot does not have optional parameters to be passed to accessory functions. Furthermore, it calls scatterutil.eti for the plotting of boxes which has hard-coded white background in the boxes. As far as I can tell triangle.plot does not pass a color argument for the borders of the boxes.

scatterutil.eti
function (x, y, label, clabel, boxes = TRUE, coul = rep(1, length(x)),
    horizontal = TRUE)
<snipped code>
        if (boxes) {
            rect(x1 - xh/2, y1 - yh/2, x1 + xh/2, y1 + yh/2,
                col = "white", border = coul[i])
<snipped code>

scatterutil.eti2
function (x, y, label, clabel, boxes = TRUE, coul = rep(1, length(x)),
    horizontal = TRUE)
<snipped code>
        if (boxes) {
            rect(x1 - xh/2, y1 - yh/2, x1 + xh/2, y1 + yh/2,
                col = "transparent", border = coul[i])
<snipped code>

I made up a triangle.plot2 and a scatterutil.eti2 with col="transparent" and provision for passing color parameters to the borders of the boxes and a got part of the way toward what you are asking requesting. There is a remaining glitch when I use the first example in the triangle.plot help page. A minority of items still get boxes even though they are transparent. Probably has to do with the default assignment of coul[i] to border. That could certainly be altered as well.

I could not tell exactly what you mean by "have them without frame and colour" either because of your use of the indefinite English pronoun or the use of Aristotelean logic. They (the boxes anyway) currently have no color. Did you want color added to <something>? At any rate you can do the same sort of function hacking as I did. There are no methods or other complicating issues in your way. All the source is "at the surface."

--

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to