Tag Info

Hot answers tagged

20

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

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" ...


18

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


17

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}, ...


17

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], ...


16

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


15

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 ...


14

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 + ...


14

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 ...


13

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}, ...


13

Another potentially useful command of this kind is the CommonestFilter which looks locally about each pixel and chooses the most common value to display. Setting the neighborhood large causes large regions of constant color. For example img = Import["http://i.imgur.com/Wd9lPRa.jpg"] CommonestFilter[img, n] where img is the image from the OPs question ...


13

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]


13

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; ...


12

The FrameTicks specification changed in v6. Previously, the form {right, bottom, left, top} was used, but in v6, it was changed to {{left, right}, {bottom, top}} To maintain compatibility between the versions, the older form is still allowed for the older plots. But, quite a few plots were added since that point (e.g. Histogram was added in v7), and ...


12

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, ...


11

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 ...


11

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 ...


11

Try use DominantColors on particular selections instead of the whole. After import select regions you want to analyze and copy that (optionally) multiple selections as a list of images. (New in 9?) img = Import["http://oaadonline.oxfordlearnersdictionaries.com" <> "/media/oaad8/fullsize/f/fru/fruit/fruit_fruit.jpg"] Paste it and apply dominants ...


11

Thanks to ybeltukov I realised that post-processing way is not so bulletproof. Let's write a little bit longer solution to take control. ChartElementFunction, is a handy way to deal with this (only a little bit adapted example for documentation): f[{{xmin_, xmax_}, {ymin_, ymax_}, {zmin_, zmax_}}, ___] := { RGBColor[Mean[{xmin, xmax}], ...


11

As discussed in the comment, it seems you want: BarChart[Rest /@ data, ChartLabels -> {data[[All, 1]], None}, BarSpacing -> {0, 2}] see other options in BarChart to format as you desire (as I do not know what it is for, it's hard to suggest other things), bonne chance! or a version with labels for the bars, placed above the bars (see ...


10

If I understand correctly, this question is about complete automation for uniform look. Hence the specifics of solution below. Import data: data = Import["http://pastebin.com/download.php?i=fZKMqxK9"]; Define filter that automatically separates data by gender: filter[gender_] := Rest[Transpose[Select[data, #[[1]] == gender &]]] For complete ...


10

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], ...


10

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[1000]}, {i, ...


9

I'm sure you'll get more sensible answers, but here's some FaceGrid abuse: Histogram3D[dataHistogramSet, FaceGrids -> With[{abuse = Table[{k, LightGray}, {k, 2002, 2005, 0.01}]~Join~ Table[{k, Gray}, {k, 2005, 2010, 0.01}]}, {{Front, {abuse, None}}, {Bottom, {abuse, None}}, Left}], ChartStyle -> "GrayTones", ViewPoint -> ...


9

You might also enjoy playing with ColorQuantize, which reduces the number of colors used in an image. Here's a BarChart of the results of quantization: colorquantized = SortBy[ Tally[ Flatten[ImageData[ColorQuantize[img, 12, Dithering -> False]], 1]], Last]; BarChart[colorquantized[[All, 2]], ChartStyle -> RGBColor /@ ...


9

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 ...


9

You can simply get the SmoothKernalDistribution and build the plot as you'd like: data = Table[Sin[x]^3 + 1, {x, 0, 6 Pi, 0.1}]; dist = SmoothKernelDistribution[data]; LogLogPlot[PDF[dist, x], {x, 0.01, 2}]


8

Perhaps like this: data = {"A", "A", "B", "B", "B"}; elements = DeleteDuplicates[data]; rep = MapIndexed[# -> #2[[1]] &, elements]; Histogram[data /. rep, ChartStyle -> "Pastel", ChartLegends -> elements] EDIT: Incorporating @Simon Wood´s splendid suggestion (we learn that the legend is a plain Column, which should be considered a good ...


8

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}. ...


8

values = RandomSample[Range[100], 5] (*{72,75,44,25,60}*) counts = RandomInteger[{1, 5}, 5] (* {4,3,1,1,1} *) Inner and Table: Inner[Table[#1, {#2}] &, values, counts, Join] (*thanks: Halirutan *) Inner and ConstantArray: Flatten@Inner[ConstantArray, values, counts, List] both give {72, 72, 72, 72, 75, 75, 75, 44, 25, 60} Update: ...



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