У меня есть две переменные, x
и y
Как я могу получить полный диапазон в метках оси x и y на графике?
x = runif(8, 0, runif(1, 1, 5))
y = x^2
, что я хочу построить. Обратите внимание, что диапазон x
(и, следовательно, y=x^2
) не всегда одинаковый.
Таким образом, команда
plot(x, y, pch=19, col='red')
производит
Однако, я не хочу границы вокруг графика, поэтому я использую параметр bty='n'
для участка:
plot(x, y, pch=19, col='red', bty='n')
который производит
Это немного неудачно, имхо, так как я хотел бы, чтобы у оси, чтобы пройти весь путь до 4, а ось х вплоть до 2.
So я и^в xaxp
и yaxp
параметры в команде plot
:
plot(x, y, pch=19, col='red', bty='n',
xaxp=c(
floor (min(x)),
ceiling(max(x)),
5
),
yaxp=c(
floor (min(y)),
ceiling(max(y)),
5
)
)
, который производит
Это немного лучше, но он все еще не показывает весь диапазон. Кроме того, мне показалось приятным, что лабильность по умолчанию использует шаги, которые были похожими на 1,2,3,4
или 0.5,1,1.5,2
, а не только на некоторые произвольные фракции.
Я предполагаю, что R имеет некоторый параметр или механизм для построения полного спектра по оси в «по-человечески» моды (0.5,1,1.5 ...), но я не нашел его. Итак, что я мог попробовать?
Вы можете включить 'топоры = FALSE'' в начальном вызове' участка() ', а затем использовать' ось() 'для создания пользовательских осей с клещами и этикетками, где вам нравится использовать«в», например, в = seq (0, 2, 0.5) для вашей оси. – ulfelder
В качестве примечания: всегда устанавливайте семя перед генерированием случайных чисел (например, 'set.seed (1)'), чтобы другие могли полностью воспроизвести ваш вывод. – lukeA
@ lukeA спасибо, я постараюсь улучшить в будущем. –