Как указать фактические значения оси x для построения в виде тиков оси x в R
Я создаю график в R, и мне не нравятся значения оси x, построенные R.
например:
x <- seq(10,200,10)
y <- runif(x)
plot(x,y)
это строит график со следующими значениями на оси X:
50, 100, 150, 200
однако, я хочу построить 20 значений 10,20, 30 ... 200
хранится в переменной X, а значения x оси. Я просмотрел бесчисленные блоги и краткое руководство - после нескольких часов поиска, самое близкое, что я нашел, это следующее (кратко) инструкции:
- вызов
plot()
илиpar()
, указывая аргументxaxt='n'
- вызов
axis()
напримерaxis(side = 1, at = seq(0, 10, by = 0.1), labels = FALSE, tcl = -0.2)
я попробовал, и результирующий график не имел значений оси x вообще. Возможно ли, что кто-то там знает, как это сделать? Я не могу поверить, что никто никогда не пытался сделать это раньше.
4 ответа:
вы найдете ответ на свой вопрос на странице справки для
?axis
.вот один из примеров страницы справки, измененный с вашими данными:
Вариант 1: использовать
xaxp
чтобы определить метки осиplot(x,y, xaxt="n") axis(1, xaxp=c(10, 200, 19), las=2)
Вариант 2: Использовать
at
иseq()
чтобы определить метки:plot(x,y, xaxt="n") axis(1, at = seq(10, 200, by = 10), las=2)
оба эти варианта дают одинаковую графику:
PS. Поскольку у вас есть большое количество ярлыков, вам придется используйте дополнительные аргументы, чтобы текст вписывался в сюжет. Я использую
las
для поворота надписи.
взгляните поближе на
?axis
документация. Если вы посмотрите на описаниеlabels
аргумент, вы увидите, что это:"a logical value specifying whether (numerical) annotations are to be made at the tickmarks,"
так, просто измените его на true, и вы получите свои метки.
x <- seq(10,200,10) y <- runif(x) plot(x,y,xaxt='n') axis(side = 1, at = x,labels = T) # Since TRUE is the default for labels, you can just use axis(side=1,at=x)
будьте осторожны, что если вы не растянете ширину окна, то R не сможет записать все ваши метки. Играть с шириной окна, и вы увидите, что я имею в виду.
очень плохо, что у вас такие проблемы с поиском документация! Каковы были ваши условия поиска? Попробуйте ввести
r axis
в Google, и первая ссылка, которую вы получите, это быстрая страница R, о которой я упоминал ранее. Прокрутите вниз до "Axes", и вы получите очень хорошее небольшое руководство о том, как это сделать. Вы, вероятно, должны сначала проверить там любые вопросы построения графика, это будет быстрее, чем ждать ответа SO.