Re: Varying plot symbols according to additional
- To: mathgroup at smc.vnet.net
- Subject: [mg113927] Re: Varying plot symbols according to additional
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 18 Nov 2010 07:05:50 -0500 (EST)
data = RandomReal[{0, 1}, {15, 4}] // Sort;
Again, letting data represent {x, y, marker size, marker hue}
Row[{
Graphics[{Line[data[[All, {1, 2}]]],
{Hue[#[[4]]], Disk[#[[1 ;; 2]],
Max[#[[3]]/40, .006]]} & /@ data},
Frame -> True,
PlotRange -> {{-0.025, 1.025}, {-0.025, 1.025}},
ImageSize -> 360],
ListPlot[List /@ data[[All, {1, 2}]],
PlotStyle -> ({
AbsolutePointSize[Max[18 #[[3]], 4]],
Hue[#[[4]]]} & /@ data),
Prolog -> Line[data[[All, {1, 2}]]],
Frame -> True,
Axes -> False,
AspectRatio -> 1,
PlotRange ->
{{-0.025, 1.025}, {-0.025, 1.025}},
ImageSize -> 360]}]
Bob Hanlon
---- Leo Ditolaghi <leoditolaghi at gmail.com> wrote:
=============
Thanks, Bob. Is there any way to do this in the context of the
existing Plot functions too?
Thanks again :)
Leo
On Tue, Nov 16, 2010 at 8:45 AM, Bob Hanlon <hanlonr at cox.net> wrote:
>
> data = RandomReal[{0, 1}, {15, 4}] // Sort;
>
> For example, let data represent {x, y, marker size, marker hue}
>
> Graphics[{
> Line[data[[All, {1, 2}]]],
> {Hue[#[[4]]],
> Disk[#[[1 ;; 2]],
> Max[#[[3]]/40, .006]]} & /@
> data},
> Frame -> True]
>
>
> Bob Hanlon
>
> ---- Leo Ditolaghi <leoditolaghi at gmail.com> wrote:
>
> =============
> Hi all,
>
> I saw this question posted in another forum. I wish to do the same in
> Mathematica;
> the author says he routinely does it, does anyone know how?
>
> Thanks in advance,
>
> Leo
>
> > Good morning. Suppose I have a table of data with multiple columns. The
> first column has X values, and the second (say) has Y values to be plotted
> against X. The remaining columns have other data associated with X, but I'm
> not going to plot those.
> >
> > Now suppose I want to plot X against Y, but I want the markers to vary in
> shape, color, or some other visible characteristic depending on the values
> of data in columns that I am not plotting. Now granted, I could write a
> series of loops to parse the data array into smaller arrays, and plot each.
> But that's a lot of work, and it would be more compact and readable if I
> could use the other data columns parametrically to set marker
> characteristics.
> >
> > I'm still fairly new to this system, but as a long-time Mathematica user,
> this
> is a fairly common thing to do. Is it straightforward in this system?
> Thanks, my
> searches have come up short.
> >
> > Oh yeah. Ideally, I could create a legend containing each symbol type,
> even though only only y-series is being plotted.
> >
> > Appreciate any help I can get...