[Date Index]
[Thread Index]
[Author Index]
Re: LabeledListPlot
*To*: mathgroup at smc.vnet.net
*Subject*: [mg96336] Re: LabeledListPlot
*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
*Date*: Thu, 12 Feb 2009 06:32:38 -0500 (EST)
*References*: <gepb26$sgs$1@smc.vnet.net> <gerqib$re2$1@smc.vnet.net> <gmu8s0$gne$1@smc.vnet.net>
Hi,
and with
Clear[LabeledListPlot]
Options[LabeledListPlot] =
Join[{DataFunction -> (Point[#] &)}, Options[Graphics]];
LabeledListPlot[data : {{_?NumericQ, _?NumericQ} ..},
labels : {__String}, opts : OptionsPattern[LabeledListPlot]] :=
Module[{n, lbl = labels, dfun},
dfun = OptionValue[DataFunction];
n = Length[data];
While[Length[lbl] < n,
lbl = Join[lbl, labels]];
lbl = Take[lbl, n];
Graphics[
{dfun /@ data,
MapThread[{Text[#2, #1, {-1, -1}]} &, {data, lbl}]},
Sequence @@ FilterRules[{opts}, Options[Graphics]],
Frame -> True, AspectRatio -> 1/GoldenRatio
]
]
and
data = Table[{x, Sin[x]}, {x, 0., 2 Pi, Pi/16}];
LabeledListPlot[data, {"a", "b", "c"}]
or
LabeledListPlot[data, {"a", "b", "c"},
DataFunction -> (Text["\[FilledUpTriangle]", #] &)]
work fine.
Regards
Jens
TerryH wrote:
> Hi Groupers:
> Last November 2008, I posted the inquiry below and one of the
> replies that I got was from Jens (also listed below & it worked great).
>
> Now I have a related question, which is: Instead of labeling the
> individual plotted points with an integer, how can you label the
> individual plotted points with textual labels? For example, I want to
> label the first plotted point with "a", the second one with "b", the
> third with "c", and so on. I've tried using PlotMarkers but that labels
> the entire data set and not individual points. The best that I could
> come up with is to make each x,y pair into its own list, for example
> with 3 points to plot (for the illustration here)
> data = {{x1,y1},{x2,y2},{x3,y3}} then feed data[[1]], data[[2]],
> data[[3]] into ListPlot, I want to apply the labels {"a","b","c"}.
> This works for a Point plotting symbol. However, it feels cumbersome.
>
> However, I'd really like to use a filled triangle for the plotting
> symbol and not the Graphic associated with what
> Graphic[Point[{num1,num2}]] gives. The only way I could get this to
> work is to generate 2 separate graphics with one (grfA) have the labels
> only, and the other (grfB) without labels but with the correct plotting
> symbol, and then bring them together using Show[grfA,grfB]. But this
> method really seems ackword, so surely there has to be a better way.
> I'm using Ver 6.0.3 Any suggestions?
> TIA
> .......Terry
>
>
>
>
> Jens-Peer Kuska wrote:
>> Hi,
>>
>> dta = Table[{tmp = Random[], Sin[Pi*tmp]}, {25}] // Sort;
>>
>> ListPlot[dta] /.
>> Point[lst : {{_, _} ..}] :>
>> MapIndexed[{Text[#2[[1]], #1, {-1, -1}], Point[#1]} &, lst]
>>
>> Regards
>> Jens
>>
>> TerryH wrote:
>>> Hi Groupers,
>>> In Ver 5.2 and earler there was a function called "LabeledListPlot"
>>> In Ver 6.0.1 and 6.0.3 of Mathematica, it seems that this function was
>>> inadvertently omitted (Hopefully, it will be included in the next
>>> update/Version). In the meantime does anyone know of a work-around so
>>> that one can produce a Labeled?List Plot in Ver 6.0? TIA
>>> .....Terry
>>>
>
Prev by Date:
**Re: Logarithmic Plot**
Next by Date:
**Re: Reposted, Reformatted Re: "mapping" functions over lists, again!**
Previous by thread:
**Re: Re: LabeledListPlot**
Next by thread:
**Re: LabeledListPlot**
| |