gpt4 book ai didi

r - 绘图大小 - 在 IPython Notebook 中使用 ggplot2(通过 rmagic)

转载 作者:行者123 更新时间:2023-12-03 12:41:24 25 4
gpt4 key购买 nike

从我的角度来看,我已经开始将 R 的使用集成到 Notebook 中以获得两全其美的效果(python 中的数据管理,同时利用 R 的比较分析/图形优势)。不幸的是,我被一个看似简单的元素所吸引,为 ggplot2 图形调整绘图大小。使用 pandas 调整绘图大小非常简单,在纯 R 环境(如 RStudio)中,我可以使用 dev.new() 或 PNG() 等调整绘图。但是,尝试这样做是 Notebook 让我的电脑发疯(我在华硕 U46E 上运行 Ubuntu 13.04)。此外,这很关键,我想保持图形内联,以便我可以将整个脚本传递给我的同事。

尝试 dev.new() 时,我的计算机被锁定,我不得不切换到不同的虚拟终端重新启动。我试图调整 x11() 选项,我的浏览器暂时没有响应,而图形有点乱。最终,我再次获得了控制权,但我不知道为什么会这样。

有谁知道为什么会发生这种情况?此外,有谁知道如何调整从 IPython Notebook 中渲染的 ggplot2 对象的绘图大小?恐怕我不能分享数据,但我可以告诉你,我试图绘制三个由基金中心分面的数值变量(一个分类变量)。这些图确实按照书面执行......直到我尝试调整大小。这是我的示例代码:

%%R
#x11(width=500,height=300) << didn't work
#dev.new() << tried before setting size parameters, and it locked up my laptop
#Plot total expenses by unit
print('*****Expenses by Unit*****')
print(smu)
print(ggplot(smu,aes(x=fy,y=as.numeric(as.character(totexp)),group=fund,colour=fund))+geom_line(size=2)+
ggtitle('Total Expenses'))
#Plot expense components
print(ggplot(smu,aes(fy))+
geom_line(aes(y=as.numeric(as.character(fixed)),colour='fixed',group=fund,colour=fund))+
geom_line(aes(y=as.numeric(as.character(var)),colour='variable',group=fund,colour=fund))+
geom_bar(aes(y=as.numeric(as.character(incadj)),group=1),stat='identity')+
facet_grid(.~fund)+
ggtitle('Components of Expenditure'))

最佳答案

rmagic 命令有可选参数来指定绘图的大小。默认值为 480 像素的宽度和高度。因此,下面的代码复制了默认设置:

%%R -w 480 -h 480 -u px
library(ggplot2)
dat <- data.frame(x = rnorm(10), y = rnorm(10),
lab = sample(c('A', 'B'), 10, replace = TRUE))
x <- ggplot(dat, aes(x = x, y = y, color = lab)) + geom_point()
print(x)

下面的代码创建了一个宽度为 50 厘米、高度为 25 厘米的图:
%%R -w 50 -h 25 -u cm
library(ggplot2)
dat <- data.frame(x = rnorm(10), y = rnorm(10),
lab = sample(c('A', 'B'), 10, replace = TRUE))
x <- ggplot(dat, aes(x = x, y = y, color = lab)) + geom_point()
print(x)

您还可以以英寸或毫米为单位指定尺寸。

关于r - 绘图大小 - 在 IPython Notebook 中使用 ggplot2(通过 rmagic),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com