我想在我的图表中添加以下标题:
注意:美国,美国的市场集中度平均值 王国和荷兰分别是1920年,1388年和1244年
其中'注意:'需要用斜体字表示,荷兰分别是1920,1388和1244'应放在新的一行。
使用paste
功能,我可以确定一个部分。但是使用\n
中的paste
,可以将所有内容混合起来,如此处所示(这是一张已编辑过的图片,使用下面的保罗建议):< / p>
我尝试了其他各种解决方案,但没有成功。这是我正在使用的代码:
library(ggplot2)
note = expression(paste(italic("Note: "), "Market concentration averages in the United States, United Kingdom, and the \nNetherlands are, respectively, 1920, 1388, and 1244"))
gg <- ggplot(mtcars, aes(wt, mpg)) + geom_point()+
# Title
labs(caption=note)
gg + theme(plot.caption=element_text(size=7.5, hjust=0, margin=margin(t=15)))
答案 0 :(得分:2)
这会给你你想要的吗?
note = expression(paste(italic("Note: \n "),
"Market concentration averages in the United States, United Kingdom, and the \nNetherlands are, respectively, 1920, 1388, and 1244"))
(不同之处在于“Note”部分现在还包括换行符)
答案 1 :(得分:1)
这是一种不同的方法:只需在ggplot2图中创建空格(通过添加空白标题),然后导航到ggplot2为标题创建的视口,并将标题绘制为单独的文本行。
library(grid)
ggplot(mtcars, aes(wt, mpg)) + geom_point() +
labs(caption=expression(atop(" ", " ")))
grid.force()
downViewport("caption.9-4-9-4")
## grid.rect()
grid.text(expression(paste(italic("Note: "),
"Market concentration averages in the United States, United Kingdom, and the")),
x=0, y=unit(1, "npc") - unit(1, "line"), just=c("left", "top"),
gp=gpar(fontsize=7.5))
grid.text("Netherlands are, respectively, 1920, 1388, and 1244",
x=0, y=unit(1, "npc") - unit(2, "line"), just=c("left", "top"),
gp=gpar(fontsize=7.5))
希望有所帮助
答案 2 :(得分:1)
基于this answer,
var myArrays =[[1, 4, 7],[2, 5, 8],[3, 6, 9]];
var _newArray = [];
for(var i=0; i<myArrays.length ;i++){
_newArray[i] = [];
for(var j=0; j<myArrays.length ;j++){
_newArray[i].push(myArrays[j][i]);
}
}
$scope.myArrays = _newArray
library(grid)
library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
geom_line() +
labs(caption= "First~line \n italic('and a second,')~bold('fancy one') \n
'also,'~integral(f(x)*dx, a, b)~'for good measure'")+
(theme_grey() %+replace% theme(plot.caption = element_custom()))