Re: Problem with Coding for Box Whisker Chart
- To: mathgroup at smc.vnet.net
- Subject: [mg123347] Re: Problem with Coding for Box Whisker Chart
- From: Heike Gramberg <heike.gramberg at gmail.com>
- Date: Fri, 2 Dec 2011 07:22:17 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201112011050.FAA13756@smc.vnet.net>
You could do something like DynamicModule[{loc1, loc2, n1, n2}, loc1 = RandomInteger[{1, 90}, 30]; loc2 = RandomInteger[{1, 90}, 30]; n1 = Length[loc1]; n2 = Length[loc2]; LocatorPane[ Dynamic[Join[Table[{0.5, i}, {i, loc1}], Table[{2.5, i}, {i, loc2}]], ({loc1, loc2} = {#[[;; n1, 2]], #[[n1 + 1 ;;, 2]]}) &], Dynamic@ BoxWhiskerChart[{Min[#], Quartiles[#][[1]], Median[#], Quartiles[#][[3]], Max[#]} & /@ {loc1, loc2}, {"Median", {"MedianMarker", Directive[Thick, Black, CapForm -> None]}}, BaseStyle -> {Medium, FontFamily -> "Arial"}, PlotRange -> {{0, 3}, {0, 100(*fixes max*)}}, PlotRangePadding -> 0, ImageSize -> Large, FrameLabel -> {None, "Number of Text Messages"}, PlotLabel -> Style["Interactive Boxplot", Bold, 20], ChartLabels -> {"Group A", "Group B"}, Frame -> {True, True, False, False}, ChartStyle -> Blue], {{0, 0}, {3, 90}}]] As for the 75% percentile, that's probably because your data points are integers. You could try something like loc=N@data if you want the statistics to be numbers rather than rationals. Heike. On 1 Dec 2011, at 11:50, Scott Colwell wrote: > Hello. I wonder if you could help me with the following issues I am > having with the BoxWhiskerChart syntax. I can not seem to get the > hang of this coding. What I am trying to do is this: > > (1) I would like to have 2 boxplots (Group A and Group B) that are > each controlled by their own locators which are positioned next to > them. I can get 1 plot to work, but can't get a second one within the > same. > > (2) I can't seem to change the median style function to have the > median represented as a thick black line. > > (3) For some reason, the 75th percentile comes up as a fraction rather > than a number. > > Here is the code that I have thus far. > > Manipulate[ > BoxWhiskerChart[ > {Min[#], Quartiles[#][[1]], Median[#], Quartiles[#][[3]], Max[#]} &@ > loc[[All, 2]], > BaseStyle -> {Medium, FontFamily -> "Arial"}, > PlotRange -> {{0, 2}, {0, 100(*fixes max*)}}, > PlotRangePadding -> .5,(*0 fixes locators to y axis*) > ImageSize -> Large, > FrameLabel -> {"Group A", "Number of Text Messages"}, > PlotLabel -> Style["Interactive Boxplot", Bold, 20], > Frame -> {True, True, False, False}, > ChartStyle -> Blue], > { > {loc, { > {0, 13}, {0, 21}, {0, 22}, {0, 31}, {0, 35}, {0, 39}, {0, 42}, {0, > 43}, {0, 46}, > {0, 46}, {0, 47}, {0, 48}, {0, 50}, {0, 51}, {0, 58}, {0, 60}, {0, > 67}, {0, 70}, {0, 79}}}, > {0, 2}, {0, 90(*fixes max*)}, Locator} > ] > > Thank you in advance >
- References:
- Problem with Coding for Box Whisker Chart
- From: Scott Colwell <srcolwell@gmail.com>
- Problem with Coding for Box Whisker Chart