2013-11-28 3 views
0

Я построил свои данные в обычном рассеянном свете, используя plot(). Я определил, что диапазон оси x находится в диапазоне от 0 до 1000 в масштабе шкалы. Все идет нормально. Но у меня есть 3 разных набора данных, и для одного из них интервал равен 0, 1, 10, 100, 1000, тогда как для остальных двух «1» отсутствует. Я хочу, чтобы все 3 сюжета включали «1».Интервал оси x с пользовательскими отметками на шкале журнала

Я пробовал с xaxt="n", а затем axis(1, at=c(0, 1, 10, 100, 1000)).

1 затем нанесен на график, близкий к 0, поэтому нет шкалы шкалы между 0 и 1. Надеюсь, это не слишком запутывает. Как мне настроить график 0,1,10,100,1000 ВСЕ в масштабе шкалы, т. Е. Такое же расстояние между всеми этими значениями?

Я надеюсь, что кто-то может помочь!

+0

Вы пытались установить 'xlim' в' plot'? – fotNelton

+0

Надеюсь, этот [пост] (http://stackoverflow.com/questions/12554336/plotting-log-scale-in-r) даст вам подсказку – TWL

+0

@fotNelton: Да, я использую xlim для определения диапазона, но R кажется, делает привязанность тиков по умолчанию. – user3045021

ответ

0

Вам нужно сделать что-то вроде этого:

#plot 1 
# i don't know what your ylim should be but you want them to be 
# minimum across y1, y2, y3 and maximum across y1, y2, y3 
plot(x1,y1,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="red") 
par(new=T) 

#plot 2 
plot(x2,y2,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="blue") 
par(new=T) 

#plot 3 
plot(x3,y3,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="yellow") 

#now put back in the axes 
#y axis first 
axis(2) 
#x axis 
axis(1,at=c(0, 1, 10, 100, 1000),label=c(0, 1, 10, 100, 1000)) 
box(bty="l") 

Что это делает делают три графы, которые имеют тот же х и у диапазонов; в частности, диапазоны x для всех графиков будут одинаковыми, от 0 до 1000. Обе оси должны охватывать ваши данные. Если они этого не делают, вам просто нужно расширить x или y. Подставьте вопросительные знаки в ylim=c(?,?) для некоторых числовых значений, которые будут охватывать диапазон ваших значений y.

После того, как данные будут нанесены на карту, вы добавите операторы axis, чтобы поставить метки и метки.

Смежные вопросы