2015-09-26 2 views
0

В настоящее время у меня возникают проблемы с использованием студии R, когда я пытаюсь нарисовать вещи. Я хочу, чтобы ось Y говорила только: E (сигма) итерации и ось X, чтобы говорить только: размер списка. К сожалению, это перекрытие, и его невозможно прочитать. Есть ли способ исправить это. Я извиняюсь за свое невежество, но я самоучитель себя R, чтобы избежать использования Excel, поэтому я действительно новичок. Спасибо за помощь. Вот код R:Перекрытие заголовков командой R plot?

N = c(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) 
    Shell Sort = c(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) 
    M = c(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) 
    plot(N, M, type = "o", col = "green");par(new=TRUE) 
    plot(N, Shell Sort, type = "o", col = "blue") 
    legend('topleft', col = c("black", "red"), lty = 1, 
     legend = c("N", "Shell Sort"), bty='n', cex=.59) 
    title(main="Comparisons - Speed", col.main="black", font.main=4) 
    title(xlab="List size", col.lab=rgb(0,0.5,0)) 
    title(ylab="∑ of iterations", col.lab=rgb(0,0.5,0)) 

Из того, что я прочитал от вашего комментария я сделал это:

 N = c(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) 
     InsertionSort = c(33, 80, 127, 177, 245, 318, 420, 532, 654, 815) 
     ShellSort = c(18, 48, 111, 156, 213, 283, 360, 451, 566, 684) 
     plot(N, InsertionSort, type = "o", col = "green", 
      xlab="List size", ylab="∑ of iterations", col.lab=rgb(0,0.5,0), 
      main="Comparisons - Speed", col.main="black", font.main=4) 
     par(new=TRUE) 
     plot(N, ShellSort, type = "o", col = "blue", 
      xlab="", ylab="") 

     legend('topleft', col = c("black", "red"), lty = 1, 
       legend = c("N", "Shell Sort"), bty='n', cex=.9) 

и теперь у значения перекрывания. Я извиняюсь за то, что не объяснил себя в первый раз. Спасибо за помощь.

Вот картинка Graph

+0

При использовании 'номинальной (новый = TRUE)', а затем запустив 'plot' во второй раз, вы накладывая целый новый сюжет с новыми оси и метки новой оси, которые (в общем) будут масштабироваться иначе, чем ваш первый график, следовательно, перекрытие. Вместо этого не запускайте 'par (new = TRUE)' и используйте функцию 'lines' вместо функции' plot', чтобы добавить новые строки данных в график. – eipi10

ответ

3

Это не RStudio вопрос. Функция plot по умолчанию добавляет заголовки оси x и y к вашему графику на основе имен переменных x и y на графике. Вы можете избавиться от них, изменив их на пустую строку, а затем добавьте их позже, как вы это сделали. Или вы можете просто добавить их непосредственно в команде plot. Я внес несколько изменений в ваш код, основываясь на том, что я предполагаю, что вы пытаетесь сделать. Дайте мне знать, если я угадал:

N = seq(100,1000,100) 
ShellSort = seq(100,1000,100) 
M = seq(50,950,100) 

plot(N, M, type = "o", col = "green", xlab="", ylab="") 
#par(new=TRUE) 
lines(N, ShellSort, type = "o", col = "blue") 

legend('topleft', col = c("black", "red"), lty = 1, 
     legend = c("N", "Shell Sort"), bty='n', cex=.59) 

title(main="Comparisons - Speed", col.main="black", font.main=4) 
title(xlab="List size", col.lab=rgb(0,0.5,0)) 
title(ylab="∑ of iterations", col.lab=rgb(0,0.5,0)) 

Код ниже добавляет названия основного и х- и у-оси непосредственно в команде участка. Затем вы запускаете тот же код, что и выше, но пропустите три вызова до title.

plot(N, M, type = "o", col = "green", 
    xlab="List size", ylab="∑ of iterations", col.lab=rgb(0,0.5,0), 
    main="Comparisons - Speed", col.main="black", font.main=4) 

И вот в результате чего участок:

enter image description here

+0

несколько, но я действительно хотел две разные линии с разными значениями Y. Я не уверен, правильно ли я выполнил ваш совет, но я опубликую то, что понял – chris123

+2

Итак, после того, как вы построили первый набор значений x и y с помощью 'plot', используйте функцию' lines' для добавления дополнительных строк (как в моем примере кода). (И если вы хотите просто очки, используйте функцию «points».) – eipi10

+0

жаль, что не ответил, но это действительно помогло. – chris123

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