【问题标题】:Overall Title for Plotting Window绘图窗口的总标题
【发布时间】:2010-11-17 11:47:26
【问题描述】:

如果我在 R 中创建一个 m 行 n 列的绘图窗口,我怎样才能给“整体”图形一个主标题?

例如,我可能有三个散点图来显示 3 所不同学校的 GPA 和 SAT 分数之间的关系。我如何为所有三个情节都赋予一个大师称号,例如“加州 3 所学校的 SAT 分数与 GPA”?

【问题讨论】:

    标签: graphics r statistics


    【解决方案1】:

    使用传统的图形系统,这里有两种方式:

    (1)

    par(mfrow=c(2,2))
    for( i in 1:4 ) plot(1:10)
    mtext("Title",side=3,outer=TRUE,padj=3)
    

    (2)

    par(mfrow=c(2,2))
    for( i in 1:4 ) plot(1:10)
    par(mfrow=c(1,1),mar=rep(0,4),oma=rep(0,4))
    plot.window(0:1,0:1)
    text(.5,.98,"Title")
    

    【讨论】:

    • 这也是一个很好的答案,不需要 ggplot2 或 lattice。
    【解决方案2】:

    我想到的最明显的方法是使用 Lattice 或 ggplot2。下面是一个使用 lattice 的例子:

     library(lattice)
     depthgroup<-equal.count(quakes$depth, number=3, overlap=0)
     magnitude<-equal.count(quakes$mag, number=2, overlap=0)
     xyplot(lat ~ long | depthgroup*magnitude,
     data=quakes,
     main="Fiji Earthquakes",
     ylab="latitude", xlab="longitude",
     pch=".",
     scales=list(x=list(alternating=c(1,1,1))),
     between=list(y=1),
     par.strip.text=list(cex=0.7),
     par.settings=list(axis.text=list(cex=0.7)))
    

    在 lattice 中,您可以更改 main= 参数。

    上面的例子取自here

    我没有一个很好的 ggplot2 示例,但在 learn r blog 上有很多 ggpolot2 示例。

    一个选项可能是this example,他们使用 ggplot2 和

    opts (title = "RSS and NINO3.4 Temperature Anomalies \nand SATO Index Trends Since 1980")
    

    但你必须在 gg2plot 中创建所有三个图表,自然而然。

    我认为你应该可以使用 lattice 或 ggplot2。

    【讨论】:

    • 一个metricasston多少钱? :)
    • 你说ggplot2不支持辅助轴标签是什么意思?您可以在设置比例时自定义它们,例如scale_y_continous('y 轴标签').
    • 哦,这是一个好点 dallologm。我不知道,所以我将从我的答案中删除它。谢谢!顺便说一句,metricasston 正好是 1.42 英制。