Как указать фактические значения оси 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.
