Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: PlotMarkers and DateListPlot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg110195] Re: PlotMarkers and DateListPlot
  • From: "Chris Degnen" <degnen at cwgsy.net>
  • Date: Mon, 7 Jun 2010 08:07:39 -0400 (EDT)
  • References: <hufu00$ecu$1@smc.vnet.net>

Dan Loewenherz asked:

> Hi all,
>
> I'm trying to use some Graphics elements as markers for data points in
> my DateListPlot. I'm running into an issue where the first element of
> the PlotMarker list is being superimposed on every point in the plot.
> Here is the code which returns
> similarly undesired behavior. Instead of letters, I'm using points.
> Nonetheless, the problem is the same.
>
> The desired behavior is for the points to scale to the values of
> HourlyDataPointCount.
>
> --------8<--------
>
> HourlyAverageCost = {186.8235294117647, 153.28722772277229,
>  148.25412844036697, 147.67576719576721, 148.1043396226415,
>  147.34375, 142.72424242424245, 141.44635627530366,
>  152.81413333333333, 151.30989583333334, 153.04958677685951,
>  153.12459893048128, 163.7921212121212, 184.74429223744292,
>  177.25316455696202, 140.55072463768116, 215.27272727272728,
>  149.90322580645162, 138.625, 94.0, 0, 140.0625,
> 142.44230769230768};
>
> HourlyDataPointCount = {17, 101, 109, 189, 159, 160, 231, 494, 375,
>  384, 242, 187, 165, 219, 158, 69, 11, 31, 8, 1, 0, 16, 52};
>
> Hours = Map[DateString[{2010, 1, 1, #, 0, 0}] &, Array[# &, 23]];
>
> Points = Map[
> Graphics[{PointSize[Log[#/10 + 0.001]], Point[{0, 0}]}] &,
> HourlyDataPointCount]
>
> DateListPlot[Transpose[{Hours, HourlyAverageCost}], ImageSize -> 600,
> LabelStyle -> Directive[FontFamily -> "Helvetica", "Medium"],
> DateTicksFormat -> {"HourShort", " ", "AMPM"},
> PlotStyle -> {{Thick, RGBColor[0, 0, 0]}}, Joined -> True,
> Frame -> False, PlotRange -> {Automatic, {0, 350}},
> PlotMarkers -> Points]
>
> -------->8--------
>
> Thanks in advance,
> Dan
>

How's this?

HourlyAverageCost = {186.8235294117647, 153.28722772277229,
148.25412844036697, 147.67576719576721, 148.1043396226415, 147.34375,
142.72424242424245, 141.44635627530366, 152.81413333333333,
151.30989583333334, 153.04958677685951, 153.12459893048128,
163.7921212121212, 184.74429223744292, 177.25316455696202,
140.55072463768116, 215.27272727272728, 149.90322580645162, 138.625, 94.0,
0, 140.0625, 142.44230769230768};

HourlyDataPointCount = {17, 101, 109, 189, 159, 160, 231, 494, 375, 384, 
242,
187, 165, 219, 158, 69, 11, 31, 8, 1, 0, 16, 52};

Hours = Map[DateString[{2010, 1, 1, #, 0, 0}] &, Array[# &, 23]];

(*Changed PointSize[Log[#/10+0.001]] to PointSize[#/1000] for convenience*)

Points = Map[Graphics[{PointSize[#/1000], Point[{0, 0}]}] &,
HourlyDataPointCount];

(*Partitioned the dataset so each set takes a different point and add again 
\
for the line*)
DateListPlot[
Append[Partition[Transpose[{Hours, HourlyAverageCost}], 1],
Transpose[{Hours, HourlyAverageCost}]], ImageSize -> 600,
LabelStyle -> Directive[FontFamily -> "Helvetica", "Medium"],
DateTicksFormat -> {"HourShort", " ", "AMPM"},
PlotStyle -> {{Thick, RGBColor[0, 0, 0]}}, Joined -> True, Frame -> False,
PlotRange -> {Automatic, {0, 350}}, PlotMarkers -> Points]







  • Prev by Date: Re: PlotMarkers and DateListPlot
  • Next by Date: Re: PlotMarkers and DateListPlot
  • Previous by thread: Re: PlotMarkers and DateListPlot
  • Next by thread: Re: PlotMarkers and DateListPlot