2014-12-06 9 views
0

Как изменить длину оси? напр:Длина оси (не масштабирование!) В диаграмме рассеяния

s <- data.table(school=rep(1:3,5), wave=c(rep(1,7), rep(2,8)), v1=rpois(15,10)) 
plot(s$wave,s$v2) 

Я получаю график рассеяния, где данные по краям участка (много белого пространства на графике). изменение значений xaxp не помогает (попробовал xaxp=c(-1, +2,4)), но ничего не произошло), и когда я пытаюсь определить его, я получаю квадратный график. Я знаю, что могу «сжать» его, когда я спасу на .png, но есть ли другой способ?

Я попытался загрузить фотографии, чтобы передать проблему, но у меня недостаточно репутации. enter image description here

edit-thanks для тех, кто его загрузил (хотя ось обращена - волна - это x, а V2 - y). дело в том, что между 1-й и 2-й волнами существует много «свободного пространства». позиция идеальна, когда я определяю волну как фактор (он центрирован, а каждый коэффициент равен половине длины оси), но он держит даю мне поле в виде квадрата!

+0

Если связать изображения (возможно, Imgur) кто-то с достаточной репутацией может размещать их для вас. Я довольно неясен в вашей цели. Если вы можете добиться того, чего хотите, изменив размер окна графика (возможно, используя «масштабирование» в RStudio), тогда ответ, как правило, должен делать это в интерактивном режиме и указывать высоту/ширину при сохранении в pdf/png и т. Д. – Gregor

+0

Вы имеете в виду границы оси y? Попробуйте использовать 'ylim = c (0,3)' в вызове 'plot (...)'. – jlhoward

+0

Итак, я вставил сюжет, но вопрос все еще кажется невероятно расплывчатым. –

ответ

0

Вы можете добавить много значений вашей функции сюжета, как цвет, название, а также пределы axsis

Ваш код:

s <- data.frame(school=rep(1:3,5), wave=c(rep(1,7), rep(2,8)), v1=rpois(15,10)) 
plot(s$wave,s$v2) 

А теперь просто добавить еще немного:

plot(
    x = s$wave, 
    y = s$v2, 
    col = "red", 
    main = "This is my title", 
    xlab = "the label of the x-axis", 
    ylab = "the label of the y-axis", 
    xlim = c(-5, 5), # the limits of the x-axis, 
    ylim = c(-4, 10) # the limits of the y-axis 
) 

Вы можете добавить гораздо больше, как размер и тип точек ...

Jus t как указано jlhoward

+0

благодарим вас за повтор, но это не то, что я искал. Я отредактировал главный вопрос для лучшей ясности. кто-то был достаточно хорош, чтобы загрузить рис, чтобы помочь мне объяснить. – isomitzi

+0

Я не знаю, может ли plot() сделать такую ​​вещь. Возможно, вам стоит попробовать пакет ggplot2, а затем сделать сюжет «фасет». Затем он должен выглядеть так: ggplot (s, aes (x = wave, y = y, facet = Curve)), кривая, определяющая грань кривой (например, «a» и «b»). Вначале пакет ggplot занимает некоторое время, чтобы действительно войти в него, однако в конце он очень быстро – paj

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