相关疑难解决方法(0)

ggplot的qplot不会在采购时执行

假设我有两个源文件,第一个命名example1.r,第二个example2.r(下面给出).

example1.r

plot(1:10,1:10)
Run Code Online (Sandbox Code Playgroud)

example2.r

qplot(1:10,1:10)
Run Code Online (Sandbox Code Playgroud)

当我获取example1.r时,绘制图形.但是,当我获取example2.r时,它不会.这里有什么解决方案?

(example2.r中的qplotggplot2的函数)

r ggplot2 r-faq

63
推荐指数
1
解决办法
2万
查看次数

控制编织器中两个并排图的对齐

我无法弄清楚如何在knitr图形手册第2页(http://yihui.name/knitr/demo/graphics/)中解释如何安排两个并排的图.我使用以下MWE,输出如下.我希望它们按照两个汽车图的手册中的说明进行对齐(也在手册的第2页).pdf在RStudio中生成(Knit to PDF).

---
title: "Untitled"
output: pdf_document
---

## R Markdown

```{r,echo=FALSE,out.width='.49\\linewidth', fig.width=3, fig.height=3}

barplot(1:4)
barplot(4:7)

```
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r knitr r-markdown

21
推荐指数
1
解决办法
3万
查看次数

如何保存 igraph 图

很棒的 igraph 包,但我正在努力保存这些图。我已经在网上拖网但没有成功。这是一些示例代码,如何保存结果图?

Test <- data.frame(
  FirstName=c("Bob","Charlie","Beth","Sam"),
  Age=c(23,56,41,33))

Friends <- c(1,2,1,4,2,4,3,4)

g <- graph.empty (4, directed = FALSE)
V(g)$color <- "lightblue"  #Nodes$NodeColour
V(g)$label <- as.character(Test$FirstName)
g <- add.edges(g, Friends)
plot(g,
     vertex.label.color="black",
     vertex.shape="sphere",
     vertex.label.cex = 0.5,
     vertex.size=24,
     layout=layout.circle)
title("Friend Network",cex.main=1,col.main="blue")

#how do you save plot as a png?
Run Code Online (Sandbox Code Playgroud)

r igraph

7
推荐指数
1
解决办法
5608
查看次数

为 rasterImage 添加边框

这是我使用创建的渐变颜色图例rasterImage

colfunc <- colorRampPalette(c("red", "blue"))
legend_image <- as.raster(matrix(colfunc(20), ncol=1))
plot.new()
rasterImage(legend_image, 0.9, 0, 1, 1)     
lbsq <- seq.int(0, 1, l=5)                                  
axis(4, at=lbsq, pos=1, labels=F, col=0, col.ticks=1, tck=-.05) 
mtext(lbsq, 4, -.2, at=lbsq, las=2, cex=.6)
Run Code Online (Sandbox Code Playgroud)

我希望在颜色图例周围添加一个细黑色边框。我尝试添加lty = 1rasterImage但没有成功。我的问题是如何向生成的图像添加黑色边框并调整其颜色和宽度。

graphics r raster r-raster

7
推荐指数
1
解决办法
432
查看次数

在 rmd 文件中保存和显示图

我正在使用 R markdown 编写相当长的代码,分为多个块。情节出现在适当的块下。我想保留这种行为,但另外我想将它们保存到指定的文件夹中。我尝试了此处列出的不同方法如何将绘图保存为磁盘上的图像?(以及互联网上的其他地方),但似乎没有任何效果。
我的可重现示例:

png('cars_plot.png')
plot(cars)
dev.off()
Run Code Online (Sandbox Code Playgroud)

此代码保存绘图,但不显示它(它只返回“空设备 1”)。我也试过 dev.print 和 dev.copy,结果相同。
先感谢您!澄清:我一个一个地运行我的块,我还不想将我的结果转换为 pdf/html。所以knitr: 在报告 * 和 * 输出数字中包含数字以分隔文件更改 rmarkdown 保存由 r 代码生成的图像的位置不能回答我的问题。

plot r save show r-markdown

6
推荐指数
1
解决办法
2万
查看次数

完全按照“绘图”面板中预览的方式保存绘图

我知道这里已经存在一个非常类似的问题,但提供的答案对我不起作用。

这是我通常的工作流程:我生成一个绘图并在 RStudio 的“绘图”面板中调整绘图的大小,直到我满意为止。然后我打电话dev.size()询问确切的尺寸。然后,我保存绘图并ggsave(...,dpi=300)指定之前确定的宽度和高度。问题是,保存后,绘图看起来完全不同,尤其是文本大小。

如果我使用 RStudio 中的“导出”选项,绘图看起来与预览中的一模一样,但质量很差,而且手动执行此操作非常乏味。

这是图片,希望能说明我的意思: 在此输入图像描述

我用来保存绘图的代码如下所示:

library(ggplot2)

ggplot(mtcars, aes(x = mpg, y = wt)) + 
  geom_point() + 
  facet_grid(vs + am ~ gear, margins = "vs") +
  theme_Publication()
ggsave("plot.png", width=4, height=3.2, dpi=300)

Run Code Online (Sandbox Code Playgroud)

我很想知道,是否有一个选项可以“以编程方式”保存一个能够精确地以高质量重新创建“绘图”预览的绘图。

预先非常感谢!

plot r ggplot2 ggsave

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

将图例置于r中两个图的下方

我想将一个共同的传说集中在两个地块下面.我曾经xpd=TRUE允许在剧情本身之外进行打印,并且oma为图例创造空间.然而,传说不会在水平方向上移动并且会在"早期"垂直方向上被剪切.有什么建议?

quartz(title="PCoA",12,6)
par(mfrow=c(1,2),oma=c(5,0,0,0),xpd=TRUE)

plot(1:3,4:6,main="plot 1")

plot(1:3,4:6,main="plot 2")


# Clips the plot    
legend(1,3.5,ncol=3,c("0-1 km","1-5 km","outside barrier"),fill=c("green","orange","red"), title="Fetch")

# Won't let me move the legend sideways 
legend(0,3.5,ncol=3,c("0-1 km","1-5 km","outside barrier"),fill=c("green","orange","red"), title="Fetch")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

UPDATE

通过下面的解决方案,可以通过拖动边缘来改变图形的尺寸,从而切割图形的边缘(见下文).可能会发生什么想法?

在此输入图像描述

在此输入图像描述

r legend par

3
推荐指数
2
解决办法
2万
查看次数

如何从 RStudio 中的 Viewer 将绘图保存为磁盘上的图像?

摘要:我的最终目标是使用rCharts,特别是Highcharts,作为ReporteRsPowerPoint 报告自动化工作流程的一部分。我想使用的图表之一在 Rstudio 的查看器窗格中呈现为 html,并且addPlot(function() print(myChart))不会将其添加到 PowerPoint。作为一种解决方法,我决定尝试保存myChart到磁盘,从那里我可以通过这种方式将其添加到 PowerPoint 中。

所以我的问题真的是,如何将我的 html 图像放入我的ReporteRs工作流程中?要么将其保存到磁盘,要么使其可读,ReporteRs都可以解决我的问题。

这个问题确实是一样的这一个,但我使用rCharts,特别是例如发现这里

#if the packages are not already installed
install.packages('devtools')
require(devtools)
install_github('rCharts', 'ramnathv')

#code creates a radar chart using Highcharts
library(rCharts)
#create dummy dataframe with number ranging from 0 to 1
df<-data.frame(id=c("a","b","c","d","e"),val1=runif(5,0,1),val2=runif(5,0,1))
#muliply number by 100 to get percentage
df[,-1]<-df[,-1]*100

myChart <- Highcharts$new()
myChart$chart(polar = TRUE, type …
Run Code Online (Sandbox Code Playgroud)

r highcharts reporters

3
推荐指数
1
解决办法
4670
查看次数

官包功能,用于向演示文稿添加R图

我正在使用officerR中的程序包将地块转移到演示文稿中。

可以使用ph_with_gg()函数来传输ggplot,但是传递普通R图的功能是什么?我在软件包中找不到任何此类功能。

这些是我所引用的一些资源:

军官CRAN包

PowerPoint演示文稿生成

您的帮助将不胜感激!

问候

plot powerpoint r ggplot2 officer

3
推荐指数
1
解决办法
1116
查看次数

R 需要重新启动 RStudio 才能使用 dev.copy() 和 dev.off() 查看并保存在文件中

我正在尝试创建一个绘图并最终将其保存为文件。但因为我正在进行很多更改并想对其进行测试,所以我希望能够同时查看和保存绘图。我已经查看此页面来执行我想做的事情,但在我的系统中,它似乎没有按预期工作。

\n\n

这是我的代码:

\n\n
png(\'Save.png\')\n\nsample.df <- data.frame(group =  c(\'A\',\'B\',\'A\',\'C\',\'B\',\'A\',\'A\',\'C\',\'B\',\'C\',\'C\',\'C\',\'B\'),\nX = c(2,11,3,4,1,6,3,7,5,9,10,2,8),\nY = c(3,8,5,2,7,9,3,6,6,1,3,4,10))\n\nplot(Y ~ X, data = sample.df)\n\ndev.copy(png, \'Save.png\')\ndev.off()\n
Run Code Online (Sandbox Code Playgroud)\n\n

有几个问题(我是 R 新手,所以我可能完全遗漏了一些东西):

\n\n

(1) 当我使用 png() 时,我无法在 RStudio 中查看绘图,因此我使用 dev.copy() 但它不允许我在 R studio 中查看我的绘图

\n\n

(2) 即使在我使用 dev.off() 后,我也无法查看保存的文件,直到我关闭 RStudio(显示“Windows 照片查看器无法打开此图片,因为该图片正在另一个程序中编辑”)。每次都需要重新启动,非常不方便。

\n\n

我做错了什么以及如何在不每次重新启动 RStudio 的情况下查看和查看保存的文件?先感谢您!

\n\n

添加

\n\n

根据 Love T\xc3\xa4tting\ 的评论,当我运行 dev.list() 时,这就是我得到的。

\n\n
> png(\'Save.png\')\n> \n> sample.df <- data.frame(group =  c(\'A\',\'B\',\'A\',\'C\',\'B\',\'A\',\'A\',\'C\',\'B\',\'C\',\'C\',\'C\',\'B\'),\n+                         X = c(2,11,3,4,1,6,3,7,5,9,10,2,8),\n+                         Y = c(3,8,5,2,7,9,3,6,6,1,3,4,10))\n> \n> plot(Y ~ X, data = sample.df)\n> \n> …
Run Code Online (Sandbox Code Playgroud)

plot r view save rstudio

2
推荐指数
1
解决办法
2088
查看次数

保存马赛克图的优雅方法?

我的大部分图都是用 ggplot2 制作的,ggsave 命令用一行将它们保存在它们应该在的位置。但是,使用 vcd 包的马赛克图最适合我的数据。问题:我没有收到包含以下代码的错误消息。R 说它已经保存了我的情节,但被保存的情节是我创建的最后一个 ggplot 图,而不是我想要的马赛克图。当然我可以在 RStudio 中手动保存,但我很确定有更好的方法。有任何想法吗?

Onlyaround <- subset(prepData, preposition=="around")
attach(Onlyaround)
mytable <- table(exp_group, session, result)
ftable(mytable)
mosaic(mytable, shade=TRUE, legend=TRUE, main = "Around by Group")
margin.table(mytable)
ggsave("pics/around_mosaic.png")
detach(Onlyaround) 
Run Code Online (Sandbox Code Playgroud)

r mosaic-plot

0
推荐指数
1
解决办法
735
查看次数

在R中打印/显示JPG文件

使用rvest软件包时,我试图在R中打印/显示lego_movie海报。我没有这样做。这是我的尝试:

library(rvest)
poster <- lego_movie %>%
  html_nodes("#img_primary img") %>%
  html_attr("src")

## 1st attempt
library(jpeg)
jpeg(poster)
dev.off()

## 2nd attempt
readJPEG(poster)
dev.off()
Run Code Online (Sandbox Code Playgroud)

我认为EBImage具有display功能。无法将该软件包安装在中R-3.1.2。它显示警告消息:package ‘EBImage’ is not available (for R version 3.1.2)

我的问题的底线是:如何在不使用EBImage软件包的情况下将R中的jpeg文件显示为显示器?

几个相关的问题:

使用R中的基本图形绘制JPG图像

如何将绘图作为图像保存在磁盘上?

jpeg r rvest

-1
推荐指数
1
解决办法
3234
查看次数

使用R,如何捕获绘图的位图?

我想在R中将以下绘图的输出捕获到包含位图的变量:

require(stats)
plot(sin, -pi, 2*pi) # see ?plot.function
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r

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