Гистограмма без вертикальных линий в Mathematica

Я пытаюсь сделать гистограмму без вертикальных линий. Я хотел бы иметь сюжет, который выглядит как функция. Как это: enter image description here

Тот же вопрос задавался для R до (гистограммы без вертикальных линий), но я нахожусь в Mathematica.

Я смотрел в опции ChartStyle без успеха.

Ответ 1

Вероятно, есть способы сделать это, перепутывая EdgeForm[] и FaceForm[] в Histogram, но я нашел, что проще свернуть его самостоятельно, когда мне это нужно. Здесь очень простой и быстрый пример:

histPlot[data_, bins_, color_: Blue] := Module[{
        countBorder = 
    Partition[Riffle[Riffle[#1, #1[[2 ;;]]], Riffle[#2, #2]], 2] & @@ 
     HistogramList[data, bins, "PDF"]
    },
    ListLinePlot[countBorder, PlotStyle -> color]
    ]

Выполнение histPlot[RandomReal[NormalDistribution[],{1000}],{-3,3,0.1}] дает

enter image description here

Затем вы можете расширить его, чтобы использовать любой параметр вместо "PDF", а также в случаях, когда вы хотите автоматически выбирать бункеры. Мне не нравится автоматическое бининг, потому что мне нравится контролировать ширину и экстенсивность моего бункера для предсказуемости и легкого сравнения с другими графиками.

Ответ 2

Вы также можете использовать ListPlot с InterpolationOrder->0:

(* example data *)
data = RandomVariate[NormalDistribution[], 10^3];

hist = HistogramList[data, {.5}];

ListPlot[Transpose[{hist[[1]], ArrayPad[hist[[2]], {0, 1}, "Fixed"]}],
  InterpolationOrder -> 0, 
  Joined -> True, 
  AxesOrigin -> {hist[[1, 1]], 0}]

histogram

Ответ 3

Вот два метода, которые работают в версии 7, используя пост-обработку:

rdat = RandomReal[NormalDistribution[0, 1], 200];
MapAt[
  {Blue,
   Line[# /. {{Rectangle[{x_, y_}, {X_, Y_}]}} :> Sequence[{x, Y}, {X, Y}]] } &,
  Histogram[rdat, PerformanceGoal -> "Speed"],
  {1, 2, 2, 2}
]

Mathematica graphics

Cases[
  Histogram[rdat, PerformanceGoal -> "Speed"],
  Rectangle[{x_, y_}, {X_, Y_}] :> {{x, Y}, {X, Y}},
  \[Infinity]
];

Graphics[Line[Join @@ %], AspectRatio -> 1/GoldenRatio, Axes -> True]

Mathematica graphics