地块外的标签

时间:2016-06-29 02:58:06

标签: r plot

我希望添加标签" a)"和" b)"在我的两个情节中,以便我可以在写作时更有效地区分和讨论它们。我试图通过文本和图例功能来做到这一点,但我没有得到任何好结果。理想情况下,我会在ep.var.hist情节(第一个情节)的最左上角和b)位于tp.var.hist情节(第二个情节)的最左上角,a标签位于在实际绘图之外和y轴标签之上。 我的代码在

之下
par(mfrow=c(2,1), mar=c(4,4,0.9,4))
ep.var.hist<-hist(data.ep, breaks=5, xlim=c(0,0.011), ylim=c(0,6000), xlab=NULL, main=NULL)  
tp.var.hist<-hist(data.tp, breaks=66, xlim=c(0,0.011), ylim=c(0,6000), xlab="Variance", main=NULL)

2 个答案:

答案 0 :(得分:1)

使用cowplot包,旨在简化制作出版物就绪图的过程。

library(cowplot)
library(ggplot2)

sepal <- ggplot(data = iris, aes(x = Species, y = Sepal.Length)) +
  geom_bar(stat = "identity") +
  theme(text = element_text(margin = margin(), debug = FALSE))

petal <- ggplot(data = iris, aes(x = Species, y = Petal.Length)) +
  geom_bar(stat = "identity") +
  theme(text = element_text(margin = margin(), debug = FALSE))

plot_grid(sepal, petal, labels = c("A", "B"))

plot_gridsave_plotggsave的完美版本)是我最喜欢的两个cowplot函数。我强烈建议您查看帮助页面以获取更多选项和自定义。

如果你真的想让它只是graphics尝试这个解决方案,我认为你正在寻找adj = 0

 par(mfrow=c(2,1), mar=c(4,4,0.9,4))
 petal <- hist(iris$Petal.Length, main = "Petal", adj = 0)
 sepal <- hist(iris$Sepal.Length, main = "Sepal", adj = 0)

完全免责声明我强烈建议长期使用ggplot2,如@rosscova建议的那样。您将拥有更多选项来控制绘图的细节,以及许多基于R无法实现的现代可视化。 ggplot2如此受欢迎有一个原因:)

答案 1 :(得分:0)

编辑:我道歉,我继续说道而没有意识到你说过#34;除了情节之外&#34;我认为我的答案无法实现。

我不知道如何在base中执行此操作,但ggplot2具有annotate功能来实现您之后的功能。以下是您可以开始玩的示例(我已经添加了一些您可能希望帮助您入门的内容):

library( ggplot2 )
plot <- ggplot( diamonds ) + 
    geom_histogram( aes( carat ), bins = 30 ) +
    annotate( "text", label = "label here", x = 1, y = 7500, col = "red" ) +
    annotate( "text", label = "and another", x = 2, y = 5500, col = "blue" )

plot <- plot + 
    xlim( 0, 3 ) + 
    ggtitle( "Main title" ) +
    xlab( "label x" ) + 
    ylab( "label y" )

plot

调整x功能中的yannotate值以移动标签。您可以通过添加对annotate的更多调用来添加任意数量的这些内容。