相关疑难解决方法(0)

使用Cookbook示例R错误"无法找到函数'multiplot'"

想在一个页面上绘制两个ggplots.以Cookbook for R为例,它不起作用.错误是could not find function "multiplot".

然而ggplots是可绘制的,我也重新安装了R,ggplot2,重新启动等等.我做错了什么?

library(ggplot2)

# This example uses the ChickWeight dataset, which comes with ggplot2
# First plot
p1 <- 
  ggplot(ChickWeight, aes(x=Time, y=weight, colour=Diet, group=Chick)) +
  geom_line() +
  ggtitle("Growth curve for individual chicks")

# Second plot
p2 <- 
  ggplot(ChickWeight, aes(x=Time, y=weight, colour=Diet)) +
  geom_point(alpha=.3) +
  geom_smooth(alpha=.2, size=1) +
  ggtitle("Fitted growth curve per diet")

# Third plot
p3 <- 
  ggplot(subset(ChickWeight, Time==21), aes(x=weight, colour=Diet)) +
  geom_density() +
  ggtitle("Final weight, by diet")

# Fourth …
Run Code Online (Sandbox Code Playgroud)

r syntax-error ggplot2

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

通过过滤隐藏的对象来减少绘图的PDF文件大小

在R中产生许多点的散点图(ggplot()例如使用)时,可能有许多点落后于其他点并且根本不可见.例如,见下图:

在此输入图像描述

这是几十万个点的散点图,但大多数都落后于其他点.问题是当将输出转换为矢量文件(例如PDF文件)时,不可见点会使文件大小变大,并在查看文件时增加内存和CPU使用率.

一个简单的解决方案是将输出转换为位图图片(例如TIFF或PNG),但它们会失去矢量质量,并且可能会更大.我尝试了一些在线PDF压缩器,但结果与原始文件大小相同.

有什么好的解决方案吗?例如,某些方法来过滤不可见的点,可能是在生成绘图期间或之后通过编辑PDF文件?

pdf plot r vector ggplot2

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

加速从 R 中的 ggplot 渲染大型热图

我正在尝试在 R 中绘制由 ggplot 生成的大型热图。最终,我想使用 Illustrator 来“润色”此热图。

示例代码:

# Load packages (tidyverse)
library(tidyverse)

# Create dataframe
df <- expand.grid(x = seq(1,100000), y = seq(1,100000))

# add variable: performance
set.seed(123)
df$z <- rnorm(nrow(df))

ggplot(data = df, aes(x = x, y = y)) +
  geom_raster(aes(fill = z)) 
Run Code Online (Sandbox Code Playgroud)

虽然我将绘图保存为矢量化图像(.pdf;那不是那么大),但打开时 pdf 的加载速度非常慢。我希望在打开文件时呈现数据框中的每个单独点。

我已经阅读了其他用于可视化矩阵的帖子(例如R 中的数据探索:显示大矩阵的热图,很快?image(),但是我想使用 ggplot 来修改图像。

问题:如何加快此图的渲染速度?有没有办法(除了降低绘图的分辨率),同时保持图像矢量化,以加快这个过程?是否可以对矢量化 ggplot 进行下采样?

pdf r heatmap ggplot2

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

标签 统计

ggplot2 ×3

r ×3

pdf ×2

heatmap ×1

plot ×1

syntax-error ×1

vector ×1