Короткий ответ
Добавьте аргумент offset=1
, как в
stripchart(oldFaithful, offset=1, ...)
Длинный ответ
Выдействительно нужно копаться в коде stripchart
, чтобы понять это!
Когда вы устанавливаете ylim
, вызывая stripchart(oldFaithful, ylim=c(p,q))
или когда вы позволяете stripchart
использовать его значения по умолчанию, это действительно так.установите ylim
, когда он создает пустую область построения.
Однако затем он должен нанести точки на эту пустую область построения.Когда это происходит, значения y для точек с одним значением x указываются как (1:n) * offset * csize
.Вот подвох, csize
основан на ylim[2]
, поэтому, чем меньше вы делаете верхний ylim, тем меньше csize
, фактически оставляя место в верхней части графика независимо от значения ylim[2]
.
Заметим, что вы можете "связываться" с ylim[1]
.Попробуйте это:
stripchart(oldFaithful, ylim=c(2,10), pch=20, method="stack")
ОК, вернемся к решению вашей проблемы.Есть вторая причина, по которой в верхней части графика есть место, и вторая причина - offset
.По умолчанию offset=1/3
, который (например, csize
) "сжимается" на высоту значений y отображаемых точек.Вы можете отрицать это поведение, устанавливая offset
ближе или равным единице, как в offset=0.9
.