Как я могу получить гистограмму для отображения бинов в процентах в Mathematica? - PullRequest
4 голосов
/ 10 октября 2011

В настоящее время я могу сгенерировать гистограмму со значениями по оси Y в диапазоне от 0,0 до 1,0, используя hspec «Вероятность», но мне было интересно, есть ли способ отобразить ее в процентах (это ничего не изменитно маркировка оси у).

Вот что я сейчас использую:

Histogram[rawdata, {{0, 10, 20, 30, 40, 50, 60, 70, 80, 90,100}}, "Probability", 
          PlotRange -> {0, 1}]

1 Ответ

11 голосов
/ 10 октября 2011
rawdata = RandomReal[NormalDistribution[50, 20], 12000];
bins = {Range[0, 100, 10]};
Histogram[rawdata, bins, "Probability", 
 Ticks ->{First@bins, 
          Table[{.01 i, If[Mod[i , 5] == 0, ToString[i] <> "%", ""]}, {i, 100}]}]

enter image description here

С BarChart вы также получаете полный контроль над метками, и, возможно, лучше в некоторых ситуациях:

BarChart[(Length /@ BinLists[rawdata, bins])/Length@rawdata 100, 
  ChartLabels -> bins[[1, 2 ;;]],
  Ticks -> {Automatic,
            Table[{i, If[Mod[i, 5] == 0, ToString[i] <> "%", ""]}, {i, 1, 100}]
           }]

enter image description here

Редактировать

Если вы собираетесь использовать BinLists[], запомните эту скользкую деталь: (из справки)

В BinLists [данные,{xMin, xMax, dx}], элементы помещаются в bin i, когда их значения удовлетворяют xMin + (i-1) dx <= x <xMin + i dx. </p>

В форме BinLists [data, {{b1, b2, ...}}], bi на каждом конце может быть -Infinity и + Infinity.

...