Как я могу получить гистограмму для отображения бинов в процентах в Mathematica?
В настоящее время я могу сгенерировать гистограмму со значениями по оси Y в диапазоне от 0,0 до 1,0, используя hspec "Вероятность", но мне было интересно, есть ли способ отобразить ее в процентах (это ничего не изменит, кроме маркировки оси у).
Вот что я сейчас использую:
Histogram[rawdata, {{0, 10, 20, 30, 40, 50, 60, 70, 80, 90,100}}, "Probability",
PlotRange -> {0, 1}]
1 ответ
Решение
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}]}]
С 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}]
}]
редактировать
Если вы собираетесь использовать BinLists[]
Пожалуйста, запомните эту скользкую деталь: (из справки)
В BinLists[data,{xMin,xMax,dx}] элементы помещаются в bin i, когда их значения удовлетворяют xMin+(i-1) dx <= x
В форме BinLists[data,{{b1,b2, ...}}], bi на каждом конце может быть -Infinity и +Infinity.