Glad if it helps.

check out this page of examples for tikz,

http://www.texample.net/tikz/examples/feature/shadings/

If you do choose this route, you could perhaps read the new wiki page on
importing graphics in a R plot,

http://wiki.r-project.org/rwiki/doku.php?id=tips:graphics-misc:display-images

(you'll want to convert the result of Tikz into a bitmap format first, with
imagemagick for example).


As for the pure R graphics solution, you'll have to play with Grid viewports
(and perhaps the gridBase package if your "Figure" is using base graphics).
Can you post a minimal, self-contained, reproducible example of what you're
trying to achieve to the list?

baptiste





2009/6/25 Kexin Ji <kex...@gmail.com>

> Hi,
>
> The triangle looks great!!
> And thanks for mentioning the TeX package Tikz! Maybe I'll check it out
> later.
> The only problem is that I need to append this color-gradient triangle into
> a another Figure I'm working on. But when I try to do that, this wonderful
> triangle overwrites the other one. Have tried to append it with not much
> luck..
> Much appreciation to your help though!!!
>
> Kexin
>
>
> On 6/25/09, baptiste auguie <baptiste.aug...@gmail.com> wrote:
>>
>> Hi,
>>
>> I don't think the fill parameter can be a colour gradient. You'll need to
>> create small polygons, each with its own fill (200, say). Try this,
>>
>> x= c(0, 0.5, 1)
>> y= c(0.5, 1, 0.5)
>> grid.polygon(x=x, y=y, gp=gpar(fill="grey90", col="grey90"))
>>
>> xx <- seq(range(x)[1],range(x)[2], length=100)
>> yy <- rep(max(y), length(xx))
>> cols <- colorRampPalette(c("green", "lightgray"))(length(xx))
>>
>> for(ii in seq_along(xx[-length(xx)])) {
>>
>> grid.clip(x=xx[ii], y=0.5,
>> width= xx[ii+1],
>> height=1,
>> just="bottom")
>>
>> grid.polygon(x=c(0, 0.5, 1), y=c(0.5, 1, 0.5), gp=gpar(fill=cols[ii],
>> col=NA))
>> }
>>
>> Note that the situation would become rather more complicated for a
>> gradient at some angle (see ?grobX if you need to).
>>
>> If you're free to choose an external tool to produce this, the TeX package
>> Tikz has good support for gradients and clipping.
>>
>> HTH,
>>
>> baptiste
>>
>> Kexin Ji wrote:
>>
>>> Hi,
>>>
>>> I wonder whether there is a way to generate a polygon (a triangle in  my
>>> case) with color gradient using grid.polygon() in package grid?
>>>
>>> I tried something like
>>>
>>> library(grid)
>>> grid.polygon(x=c(0, 0.5, 1), y=c(0.5, 1, 0.5), gp=gpar(col=NA,
>>>  fill=colorRampPalette(c("green", "lightgray"),
>>>                                        space="Lab")(200)))
>>>
>>> But am only getting a triangle filled with color green, whereas the  aim
>>> is a triangle of color gradient from green to lightgray.
>>>
>>> Can grid.polygon() generate a color gradient, or am I being mistaken?
>>>
>>> Best to my knowledge, is it true that R currently doesn't contain any
>>>  other function that might generate a polygon with color gradient?
>>>
>>> Thank you!
>>>
>>> Kexin
>>>
>>>
>>>        [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> 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.
>>>
>>>
>>>
>>
>>
>> --
>> _____________________________
>>
>> Baptiste AuguiƩ
>>
>> School of Physics
>> University of Exeter
>> Stocker Road,
>> Exeter, Devon,
>> EX4 4QL, UK
>>
>> Phone: +44 1392 264187
>>
>> http://newton.ex.ac.uk/research/emag
>> ______________________________
>>
>>
>


-- 

_____________________________

Baptiste AuguiƩ

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag
______________________________

        [[alternative HTML version deleted]]

______________________________________________
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