Skip to content

legend()s text color

5 messages · Martin Maechler, Uwe Ligges, Marc Schwartz +1 more

#
{moved from R-help to R-devel}

        
UweL> Sebastien Durand wrote:
>> Hi,
    >> 
    >> Is there a way to change the color of the text inside a legend, let say 
    >> I would like to use a black background in my legend, how can I get the 
    >> text to show up, it is black!!!
    >> So for example how could I change it to white...?
    >> 
    >> Sebastien


    UweL> By setting par(fg = "white"):

    UweL> plot(1:10)
    UweL> par(fg="white")
    UweL> legend(2,2, col="white", legend="A", bg="black")

or  par(col = "white"),
as Marc has suggested.

legend()'s source code makes it very straightforward to add an
argument 'text.col' for this purpose, and I have already done so
in my development version.
The question is really if the default should be
   text.col = par("col")
or text.col = par("fg")

I'd currently tend for  par("col") , but the tendency is weak.

Martin
#
Martin Maechler wrote:

            
I agree, I would expect the lines around the legend's box in par("fg"), 
but the font in par("col"). And indeed, that's already the case if both 
values have been set in par().

Uwe
#
On Wed, 2004-02-25 at 08:02, Uwe Ligges wrote:
Martin,

Thanks for taking this on. 

I'll throw in my vote and support the text.col = par("col") approach.

Best regards,

Marc
#
Hi
Marc Schwartz wrote:
There is little consistency to the interpretation of these parameters 
across different functions, but my preference would be to use "col"

Paul
#
Paul> Hi
Paul> Marc Schwartz wrote:
>> On Wed, 2004-02-25 at 08:02, Uwe Ligges wrote:
>>
>>> Martin Maechler wrote:
>>> 
    >>> 
    >>>> {moved from R-help to R-devel}
    >>>> 
    >>>> 
    >>>> 
    >>>>>>>>> "UweL" == Uwe Ligges <ligges@statistik.uni-dortmund.de>
    >>>>>>>>> on Tue, 24 Feb 2004 19:05:46 +0100 writes:
    >>>>>>>> 
    >>>>
UweL> Sebastien Durand wrote:
>>>> >> Hi,
    >>>> >> 
    >>>> >> Is there a way to change the color of the text inside a legend, let say 
    >>>> >> I would like to use a black background in my legend, how can I get the 
    >>>> >> text to show up, it is black!!!
    >>>> >> So for example how could I change it to white...?
    >>>> >> 
    >>>> >> Sebastien
    >>>> 
    >>>> 
    UweL> By setting par(fg = "white"):
    >>>> 
    UweL> plot(1:10)
    UweL> par(fg="white")
    UweL> legend(2,2, col="white", legend="A", bg="black")
    >>>> 
    >>>> or  par(col = "white"),
    >>>> as Marc has suggested.
    >>>> 
    >>>> legend()'s source code makes it very straightforward to add an
    >>>> argument 'text.col' for this purpose, and I have already done so
    >>>> in my development version.
    >>>> The question is really if the default should be
    >>>> text.col = par("col")
    >>>> or text.col = par("fg")
    >>>> 
    >>>> I'd currently tend for  par("col") , but the tendency is weak.
    >>>> 
    >>> 
    >>> I agree, I would expect the lines around the legend's box in par("fg"), 
    >>> but the font in par("col"). And indeed, that's already the case if both 
    >>> values have been set in par().
    >>> 
    >>> Uwe
    >> 
    >> 
    >> 
    >> Martin,
    >> 
    >> Thanks for taking this on. 
    >> 
    >> I'll throw in my vote and support the text.col = par("col") approach.


    Paul> There is little consistency to the interpretation of these parameters 
    Paul> across different functions, but my preference would be to use "col"

    Paul> Paul

Thank you Paul (and Marc and Uwe).

      legend(...., text.col = par("col"))

is now committed to R-devel.

Martin