Re: Plotting a line with color changing as a function of position
- To: mathgroup at smc.vnet.net
- Subject: [mg124263] Re: Plotting a line with color changing as a function of position
- From: Dan <dflatin at rcn.com>
- Date: Sat, 14 Jan 2012 17:15:37 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jercj4$1c7$1@smc.vnet.net>
It turns out that there is a capability that will do just what you
want, ColorFunction. Look it up in the online help for more
information. Here is an example:
Module[{x1 = 0, y1 = 0, x2 = 10, y2 = 10, m, b},
m = (y2 - y1)/(x2 - x1);
b = (x2*y1 - x1*y2)/(x2 - x1);
Plot[m*x + b, {x, -1, 11},
ColorFunction -> Function[{x, y}, Hue[Cos[Norm[{x, y} - {x1,
y1}]]]],
ColorFunctionScaling -> False,
PlotStyle -> Directive at {Thickness[0.01]}
]
]
In order to vary thickness or dash interval I think you will have to
build the plot through construction. Thickness could be managed with
the Filling option for Plot using two curves.
On Jan 14, 2:58 am, "Eric Michielssen" <emich... at eecs.umich.edu>
wrote:
> Hello,
>
> I would like to plot/draw a line between two points p1= (x1,y1} and
> p2={x2,y2}, and I would like the line color (preferred) or thickness or dash
> density to be reflective of a known function f(d) that measures the
> distance d from p1 to the point on the line.
>
> Say p1={x1,y1}={0.,0.}, p2={10.,10}, and f[d_]:=Cos[d].
>
> Is this possible?
>
> Thanks!
> Eric
>
> Eric Michielssen