我希望添加标签" 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)
答案 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_grid
和save_plot
(ggsave
的完美版本)是我最喜欢的两个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)
我不知道如何在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
功能中的y
和annotate
值以移动标签。您可以通过添加对annotate
的更多调用来添加任意数量的这些内容。