R 使用参数自动更新图形标题

R 使用参数自动更新图形标题,r,R,我对R不是很熟悉。我用R为不同的λ(从1到10)绘制泊松分布图,并显示每个λ的图作为比较 但我想加上一个标题,比如说:“lambda=1”代表情节1,“lambda=2”代表情节2。。。根据lambda自动在图形上显示等。但我无法想出如何自动更新标题。这是我的代码,我能够正确地输出10个不同的图形,但不确定如何自动更新或将相应的lambda添加到标题中。有人能给我一些提示吗 也可以说绘图1到5的字体大小为“小”,然后是6到10的字体大小吗 谢谢 the_data_frame<-data.f

我对R不是很熟悉。我用R为不同的λ(从1到10)绘制泊松分布图,并显示每个λ的图作为比较

但我想加上一个标题,比如说:“lambda=1”代表情节1,“lambda=2”代表情节2。。。根据lambda自动在图形上显示等。但我无法想出如何自动更新标题。这是我的代码,我能够正确地输出10个不同的图形,但不确定如何自动更新或将相应的lambda添加到标题中。有人能给我一些提示吗

也可以说绘图1到5的字体大小为“小”,然后是6到10的字体大小吗

谢谢

the_data_frame<-data.frame(matrix(ncol=10,nrow=21))
lam<-seq(1,10,1)
lam
x<-seq(0,20,1)
x
for (i in 1:10){
the_data_frame[i]<-exp(-lam[i])*lam[i]**x/gamma(x+1)
}
the_data_frame<-cbind(the_data_frame, x)


par(mfrow=c(5,2))
for (i in 1:10){
plot(the_data_frame[[i]]~the_data_frame[[11]], the_data_frame)
}
数据帧这可能有助于:

for (i in 1:10){
    plot(the_data_frame[[i]]~the_data_frame[[11]], the_data_frame,
        main=paste("lambda=", i, sep=""))
}

你可以简化这个问题。使用一个循环,在lamda值上,在每次迭代中使用毒药公式计算y的值,然后绘制它。我使用
main
参数为每个绘图添加标题。这里,我使用
bquote
获取lambda值的plotmath格式

例如,对于4个lambda值,可以得到:

x<-seq(0,20,1);lam = c(0.5,1,2,4)
par(mfrow=c(2,2))
lapply(lam,function(lamd){
  y <- exp(-lamd)*lamd*x/gamma(x+1)
  plot(x,y,main=bquote(paste(lambda,'=',.(lamd))),type='l')

})
x
库(ggplot2)

xval您是否正在寻找一个可以输入文本并更新图形标题的交互式窗口?如果是,您可能需要查找tcltk包


您指的是什么字体大小?标题?轴标签?轴在滴答作响?对不起,我应该更清楚,我是指图表上的标题。比如说,对于1到5号情节,我希望标题的字体大小为12,对于6到10号情节,我希望标题的字体大小为8。我实际上不需要确切的字体大小。我只是想知道是否有一种方法可以自动调整标题的字体大小,就像自动输出标题上的lambda一样。很抱歉,我最初没有说清楚。@john\u您可以使用类似于
par(ps=12)
的语句以点为单位设置常规图形字体大小;您可以在
plot
语句中使用
cex.main=
更改图形标题字体大小乘数。很好,尽管有输入错误-
lambd^x
而不是
lambd*x
library(ggplot2)
xval <- rep(0:20,10)
lambda <- rep(1:10,21)
yvtal <- exp(- lambda)*lambda**xval/gamma(xval+1)
the_new_data_frame <- data.frame(cbind(xval,lambda,yval))

plot1 <- ggplot(the_new_data_frame, aes(xval, yval)) + geom_line(aes(colour=factor(lambda)))
plot1
plot1 + facet_grid(~lambda)