相关疑难解决方法(0)

ggplot2中的中心绘图标题

嗨,这个简单的代码(以及今天早上的所有脚本)已经开始在ggplot2中给我一个偏离中心的标题

Ubuntu version: 16.04

R studio version: Version 0.99.896

R version: 3.3.2

GGPLOT2 version: 2.2.0
Run Code Online (Sandbox Code Playgroud)

今天早上我刚刚安装了上面这个以试图解决这个问题....

dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)

# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

222
推荐指数
4
解决办法
28万
查看次数

如何在ggplot2中调整标题位置

这是代码:

require(ggplot2)
require(grid)
# pdf("a.pdf")
png('a.png')
a <- qplot(date, unemploy, data = economics, geom = "line") + opts(title='A')
b <- qplot(uempmed, unemploy, data = economics) + geom_smooth(se = F) + opts(title='B')
c <- qplot(uempmed, unemploy, data = economics, geom="path") + opts(title='C')
grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 2)))
vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
print(a, vp = vplayout(1, 1:2))
print(b, vp = vplayout(2, 1))
print(c, vp = vplayout(2, 2))
dev.off()
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

虽然这是我想要的,即在y轴顶部附近定位标题:

在此输入图像描述

r ggplot2

19
推荐指数
1
解决办法
4万
查看次数

如何在R中保存网格图?

我有一个网格图对象g.

class(g)
"gtable" "grob"   "gDesc" 
Run Code Online (Sandbox Code Playgroud)

我可以使用grid.draw(g)绘制情节.但是,我无法找到将绘图保存为pdf文件的方法.

我试过了:

ggsave(g, file="plot.png")
Run Code Online (Sandbox Code Playgroud)

但显然ggsave不适用于这样的对象.

以下是?grid.draw帮助页面中的示例:

grid.newpage()
## Create a graphical object, but don't draw it
l <- linesGrob()
## Draw it
grid.draw(l)
Run Code Online (Sandbox Code Playgroud)

绘图效果很好,但保存/打印会导致问题.

对此有任何解决方法吗?谢谢!

r ggplot2

14
推荐指数
2
解决办法
9122
查看次数

将y轴标题放在图表的左上角

我在R中绘制了一个带ggplot2的图,我希望y轴的标题出现在图的左上角.请考虑以下代码以获取默认行为:

require(ggplot2)

xy = data.frame(x=1:10, y=10:1)

ggplot(data = xy) +
  geom_point(aes(x = x, y = y)) +
  ylab("very long label")
Run Code Online (Sandbox Code Playgroud)

这将生成以下图表:

原始图表

我想移动并旋转文本"非常长的标签".我可以使用theme()函数做一些事情:

ggplot(data = xy) +
  geom_point(aes(x = x, y = y)) +
  ylab("very long label") +
  theme(axis.title.y = element_text(angle = 0, vjust = 1.1, hjust = 10))
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

修改过的图

您可以看到我的目的地,但边距不正确 - 左边距太大,因为空间是为旋转标签保留的,而上边距对于文本而言太小.

我怎么能告诉ggplot我想在那个位置没有旋转的y轴标题,并为它保留适当的空间?

r ggplot2

5
推荐指数
1
解决办法
3178
查看次数

标签 统计

ggplot2 ×4

r ×4