# Tag Info

26

None of the solutions so far makes use of the fact that the data are percentages and hence add op to (nearly) 100. (* Add the rows of the data list *) Total[Rest /@ data, {2}] (* out *) {99.96, 99.98, 99.98, 99.99, 99.99, 99.99, 99.99, 99.97, 100., 99.99,100., 100.} Borrowing from Pinguin Dirk: BarChart[Rest /@ data ,ChartLayout -> "Stacked" ,...

25

One More way! The means of each data is the blue dot. bars are color coded according to the standard deviation within each sub list. ListLinePlot[Mean /@ data, Prolog -> MapThread[{Thickness[.04], ColorData["SandyTerrain"][#3], Line[{{#2, First@#1}, {#2, Last@#1}}], Opacity[0.7], White, Dashed, Thickness[0.003], Arrowheads[0.025], ...

22

I was sure Histogram can be modified to have the hatching style. Little late but what about this! g[{{xmin_, xmax_}, {ymin_, ymax_}}, ___] := Module[{yval, line}, yval = Range[ymin, ymax, 15]; line = Line /@ Transpose@{Most@({xmin, #} & /@ yval),Rest@({xmax, #} & /@ yval)}; {FaceForm[White],Polygon[{{xmin, ymin}, {xmax, ymin}, {xmax, ymax}, {...

22

Here's my contribution for the first type of chart: bins = Tally @ Ceiling[data, 5]; labelfn = Text[HoldForm[# °], 8 {Sin[# °], Cos[# °]}] &; ptfn = Rotate[Point @ Thread @ {10 + Range@#2, 0}, Pi/2 - # °, {0, 0}] &; linefn = Rotate[Line[{{9.5, 0}, {10, 0}}], Pi/2 - # °, {0, 0}] &; Graphics[{ Circle[{0, 0}, 10], labelfn /@ {0, 90, 180, ...

22

I think you could achieve what you want by overlaying two Histogram objects, one with no Edges but colored bars, the second one with Edges, but transparent bars, as in this example: data = RandomVariate[NormalDistribution[10, 2], 500]; Show[{ Histogram[data, ChartStyle -> Directive[Opacity, EdgeForm[AbsoluteThickness]]], Histogram[data, ...

21

One posibility is to use Tally with BarChart. For example: hist = Tally[{"A", "A", "B", "B", "B"}]; BarChart[hist[[All, 2]], ChartLabels -> hist[[All, 1]]]

20

This site has exactly what you want here, already in Mathematica code. One example here:

20

Out of curiosity I tried this: DistributionChart[Rest /@ data, ChartLabels -> {data[[All, 1]]}, ChartElementFunction -> "HistogramDensity", ChartStyle -> {LightRed, LightGreen, LightBlue}, BarOrigin -> Left] As for 'interpretation', here's my attempt. This type of chart tries to show the distribution of the values in each 'row'. The ...

19

Under mma 8 you can use the undocumented {"Raw", n} bin specification to get exactly the number of bins you would like. Otherwise the bin widths and boundaries are chosen to be "nice" numbers. Here is an example: data = RandomVariate[NormalDistribution[0, 1], 200]; Histogram[data, {"Raw", 5}] (I saw this first in a comment by Brett Champion to the answer ...

19

Without looking at performance, but only on understanding: First, you create a function f which takes a value and a count and which reproduces the value exactly count times. In the simplest case f[val_, count_] := ConstantArray[val, count] and you can call f[3,4] to get {3,3,3,3}. Now, you combine your input arrays so that you can call f directly for each ...

19

Since nobody who supposedly thought this was a good question seems actually to have wanted to write an answer, here is one from me. Let us define a bimodal distribution: dist = MixtureDistribution[ {0.6, 0.4}, {NormalDistribution[-0.8, 1.3], NormalDistribution[2.7, 0.4]} ]; pdfplot = Plot[PDF[dist, x], {x, -5, 5}] To simulate your data we draw some ...

19

The function f takes as arguments the raw, unbinned data, the number of sectors, and a boolean parameter to indicate whether polar gridlines are to be drawn. data = {8, 9, 13, 13, 14, 18, 22, 27, 30, 34, 38, 38, 40, 44, 45, 47, 48, 48, 48, 48, 50, 53, 56, 57, 58, 58, 61, 63, 64, 64, 64, 65, 65, 68, 70, 73, 78, 78, 78, 83, 83, 88, 88, 88, 90, 92, 92, 93, 95,...

18

This may be what you are looking for. img = Import["http://i.imgur.com/Wd9lPRa.jpg"] Now use DominantColors. Graphics[{#, Disk[]}] & /@ DominantColors[img, 4]

17

Add the argument "Probability" to the Histogram command. To be precise, if list is your list of data, then Histogram[list,Automatic,"Probability"] should do the trick. The Automatic argument specifies the bin size.

17

Since nobody has used this function yet, I will place it here. Your data seems to be organised almost perfectly for ArrayPlot. First I removed the first column from the rest of the values and added to the axes ticks. The rest is just displayed via ArrayPlot, with a particular color scale. {xs, values} = {First[#], Transpose@Rest[#]} &@Thread@data; ...

17

The underlying problem is that Histogram creates a set of Rectangles which represent the bars. You can inspect this by looking at the underlying form of the created graphics h = Histogram[RandomVariate[NormalDistribution[10, 2], 500], Automatic, "PDF", PerformanceGoal -> "Speed"]; InputForm[h] This reveals that each bar in the histogram is ...

17

Here's a similar figure with made-up data: dist1 = NormalDistribution[0.002, 1/100]; dist2 = NormalDistribution[-0.002, 1/10]; randomWalk[] := NestWhileList[# + 0.7 RandomVariate[dist1] + 0.3 RandomVariate[dist2] &, 0.5, 0 < # < 1 &]; SeedRandom {foo, res} = Reap[Do[Sow[Length@#, Clip[Last@#, {0, 1}]] &@randomWalk[], {...

16

You can use a custom ChartElementDataFunction as follows: cedF[{{xmin_, xmax_}, {ymin_, ymax_}}, ___] :={If[xmax <= 8, RGBColor[1, 0, 0], Sequence[]], Dynamic@EdgeForm[Directive[Thickness[.015], Lighter@CurrentValue["Color"]]], Rectangle[{xmin, ymin}, {xmax, ymax}, RoundingRadius -> 5]}; Histogram[RandomVariate[NormalDistribution[10, 2], ...

16

For those without v9, here's another attempt based on FindClusters, but using a different colour space. The idea is to reduce the effect of overall brightness on the "distance" between colours, so that the clustering gives more weight to differences of hue and is less likely to pick out different shades of gray. newspace[{r_, g_, b_}] := {r - g, b - g, (r + ...

16

I would do something like: t = RandomVariate[NormalDistribution[0, 1], 10000]; a = Histogram[t, 30, ChartStyle -> White]; b = Histogram[t, 30, ChartElements -> Graphics[{Black, Line[{{0, 0}, {1, 1}}]}]]; Show[a, b]

16

Here's my take at replicating your circular plot. To get the ticks right isn't as easy as one might think, there is no option to put the ticks on the inside of the circle. The ticks will have to be produced manually... CircularDotHistogram[data_, n_, clockwise_: True] := Module[{hist, pts, deg2rad, angdata}, hist = HistogramList[data, n][]; deg2rad[...

16

Here is a bit clumsy (had very little time) approach виа combination of new functionality Entity and regions. (* get the states *) divisions = EntityValue[Entity["AdministrativeDivision", {_, "UnitedStates"}], "Entities"]; (* get polygons of borders *) dat = EntityValue[ divisions, {"Population", "Polygon"}] /. {GeoPosition -> Identity, ...

16

For the case where the height function is "Count", we can use the formula from the linked page in a custom ChartElementFunction with the sample size (Length[data]) passed as metadata: ceF[d_: .2, nsd_: 3, color_: Automatic][cedf_: "Rectangle"] := Module[{e = nsd /2 Sqrt[#[[2, 2]] (1 - #[[2, 2]]/ #3[])]}, {ChartElementData[cedf][##], Thick, ...

15

You may be able to use the new WeightedData in version 9 with HistogramDistribution to create a weighted histogram. I've reduced the number of points for speed but it should hopefully scale to your actual problem. raw = RandomReal[1, {10000000, 2}]; binned = Table[{.01*Ceiling[raw[[i, 1]]/.01], .01* Ceiling[raw[[i, 2]]/.01], RandomInteger}, {i, ...

15

data1 = RandomVariate[NormalDistribution[0, 1], 1000]; data2 = RandomVariate[NormalDistribution[0.3, 1], 1000]; One way is PairedHistogram PairedHistogram[data1, data2] A different layout can be achieved by hacking the height specification of Histogram. Show[ Histogram[data1, Automatic], Histogram[data2, Automatic, -#2 &] ] Update In practice, ...

15

Here is something using a custom ChartElementFunction Module[{c = 0}, half[{{xmin_, xmax_}, {ymin_, ymax_}}, data_, metadata_] := (c++; Map[Reverse[({0, Mean[{xmin, xmax}]} + # {1, (-1)^c})] &, First@Cases[ First@Cases[InputForm[SmoothHistogram[data, Filling -> Axis]], gc_GraphicsComplex :> Normal[gc], ∞], ...

14

So this generates the heatmap: << Calendar` year = 1990; yearLen = DaysBetween[{year, 1, 1}, {year, 12, 31}] + 1; data = RandomReal[1, yearLen]; days = Map[DayOfWeek[{year, 1, #}] &, Range[3, 9]]; day1 = Position[days, DayOfWeek[{year, 1, 1}]][[1, 1]]; dayn = Position[days, DayOfWeek[{year, 12, 1}]][[1, 1]]; Paddata = Join[ConstantArray[100, day1 -...

14

Is this what you mean? I put different colors in the background, to make clear what I added: Show[Histogram3D[dataHistogramSet, FaceGrids -> {Bottom, Front, Left}, ChartStyle -> "GrayTones", ViewPoint -> {2.78, 1.3, 1.43}, PlotLabel -> "Histogram of Dataset 1"], Graphics3D[ Translate[{EdgeForm[], {Red, Polygon[{{1995, 0, 0}, {...

14

As of version 9 there is an undocumented extension to the kernel functions which allows you to bound the domain. You do this by specifying the kernel function as {"Bounded", c, ker} where c is the left boundary (0 in your case) and ker is the usual kernel function. You can also allow for both the left and right to be bounded via {"Bounded", {c1, c2}, ker}. ...

14

Here is extended version of PlatoManiac's solution which allows changing of the direction of the hatching and also tuning the distance between hatches: g[step_?NumberQ][{{xmin_, xmax_}, {ymin_, ymax_}}, ___] := Module[{yval, lines, xstart, xend}, yval = Range[ymin, ymax, Abs[step]]; If[step > 0, {xstart, xend} = {xmin, xmax}, {xstart, xend} = {...

Only top voted, non community-wiki answers of a minimum length are eligible