Что я должен сделать, чтобы построить картинку - PullRequest
0 голосов
/ 29 июня 2018

Я хочу построить картинку, у которой начало xaxis и yaxis равно 0. Однако, согласно моему коду, результат не может соответствовать моему требованию. Поэтому я хочу знать, где ошибки. Спасибо!

rm(list=ls())
axis.test<-function(){
  t<-seq(0,200)
  ntbase<-12/(1+exp(-(t-10)/25))
  nt1<-12/(1+exp(-(t-30)/25))
  nt2<-15.5334/(1+exp(-(t-20)/25))
  nt3<-10.6997/(1+exp(-(t-5)/25))
  nt4<-13.5906/(1+exp(-(t-30)/50))
  nt<-data.frame(cbind(ntbase,nt1,nt2,nt3,nt4))  matplot(t,nt,col=1:5,type='l',lwd=2,lty=1:5,ylab="population(100,000)",xaxs='i',yaxs='i',xaxt='n',yaxt='n')
  axis(side=1,at=c(0,20,40,60,80,100,120,140,160,180,200),labels=c(0,20,40,60,80,100,120,140,160,180,200),tck=0.03)
  axis(side=2,at=c(0,5,10,15,20),labels=c(0,5,10,15,20),tck=0.03)
}
axis.test()

1 Ответ

0 голосов
/ 29 июня 2018

Под «построением рисунка» я предполагаю, что вы имеете в виду построение графика. С другой стороны: я рекомендую использовать отступы и пробелы для повышения читабельности вашего кода. Взгляните на Расширенное руководство по стилю R от Hadley , чтобы улучшить свой стиль кодирования R.

Вы можете указать пределы оси через matplot аргументы xlim и ylim

matplot(
    t, nt,
    col=1:5,
    type='l',
    lwd=2,
    lty=1:5,
    ylab="population(100,000)",
    xaxs='i', yaxs='i',
    xaxt='n', yaxt='n',
    xlim = c(0, 200),
    ylim = c(0, 20))
axis(
    side=1,
    at=seq(0,200,20),
    labels=seq(0,200,20),
    tck=0.03)
axis(
    side=2,
    at=seq(0,20, 5),
    labels=seq(0,20,5),
    tck=0.03)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...